浅谈Javascript的静态属性和原型属性
文章给各位介绍Javascript的静态方法和原型方法一个例子,如果大家对于Javascript的静态方法和原型方法不了解可以和小编一起来看看。 一段代码,了解静态方法和实例方法:
<script> //对象构造函数 function Atest(name){ //私有属性,只能在对象构造函数内部使用 var className = "Atest"; //公有属性,在对象实例化后调用 this.name = name; //对象方法 this.hello = function(){ alert(this.name); alert(this.msg());//使用原型方法扩充的方法可以在类内部使用 alert(this.sex);//使用原型方法扩充的属性可以在类内部使用 alert(Atest.age);//静态属性调用时格式为[对象.静态属性] } } //类方法 (实际是静态方法直接调用) 位置:Person类的外部 语法格式:类名称.方法名称 = function([参数...]){ 语句行; } Atest.Run = function(){ alert("我是类方法 Run"); } //原型方法 Atest.prototype.msg = function(){ alert("我的名字是:"+this.name);//如果原型方法当作静态方法直接调用时,this.name无法被调用 } //公有静态属性 在类的外部 Atest.age = 20;//公有静态属性不能使用 【this.属性】,只能使用 【对象.属性】 调用 //原型属性,当作是类内部的属性使用【this.原型属性】,也可以当成公有静态属性使用【对象.prototype.原型属性】 Atest.prototype.sex = "男"; Atest.Run(); //类方法也是静态方法,可以直接使用 【对象.静态方法()】 Atest.prototype.msg();//原型方法当成静态方法使用时【对象.prototype.方法()】 alert(Atest.prototype.sex);//原型属性当作静态属性使用时【对象.prototype.方法()】 var a = new Atest("zhangsan");//对象方法和原型方法需要实例化对象后才可以使用 a.hello();//对象方法必须实例化对象 a.msg();//原型方法必须实例化对象 alert(a.age)://错误,公有静态属性只能使用 【对象.属性】调用 //ps:尽量将方法定义为原型方法,原型方法避免了每次调用构造函数时对属性或方法的构造,节省空间,创建对象快. </script>
相关推荐
-
PowerShell中调用.NET对象的静态方法、静态属性和类方法、类属性例子
本文介绍在PowerShell中如何使用.NET对象,PowerShell内在支持大量的.NET对象. 调用类的静态方法 用中括号把类的名称括起来,然后输入两个冒号,然后再输入方法名,最后是方法的参数.语法如下: [类名]::方法名(参数列表) 如: 复制代码 代码如下: [System.Diagnostics.Process]::GetProcessById(0) 访问类的静态属性 要访问.NET类的静态属性,可以使用中括号把类的名称括起来,然后输入两个冒号,然后再输入属性名.语法如下: [类
-
js实例属性和原型属性示例详解
详情请仔细研读注释,这里就废话少说,直接上代码了. 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>测试文档</title> <script type="text/javascript"> // 实质上属性和方法是一样的,方法是属性为引用型的函数. //一个对象有4种
-
JavaScript中的私有/静态属性介绍
•模拟块级作用域 大家都知道在JavaScript中没有块级作用域的概念,我们可以通过使用闭包来模拟实现块级作用域,看下面的示例: 复制代码 代码如下: (function () { for (var i = 0; i < 10; i++) { //Do Nothing } alert(i); //输出10 })(); 第6行可以访问到for循环块中的变量i,如果我们稍微修改以上代码,把for循环块放置在闭包中,情况就不一样了: 复制代码 代码如下: (function () { (functi
-
JavaScript检测实例属性, 原型属性
0.前提 JavaScript对象的属性分为两种存在形态. 一种是存在实例中, 另一是存在原型对象中. 根据上述, 检测属性的时候会出现4种情况 既不存在实例中, 也不存在原型对象中 存在实例中, 不存在原型对象中 不存在实例中, 存在原型对象中 既存在实例中, 也存在原型对象中 1.hasOwnPrototype() hasOwnPrototype()接受一个字符串格式的属性名称, 如果实例本身存在该属性(情况2/情况4), 返回true. 否则, 返回false(情况1/情况3). 复制代码
-
js类的静态属性和实例属性的理解
复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>测试</title> </head> <body> <script type="text/javascript"><!-- function Man
-
php面向对象中static静态属性和静态方法的调用
本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性). 实例: <?php header("content-type:text/html;charset=utf-8"); c
-
jQuery学习笔记之jQuery原型属性和方法
复制代码 代码如下: jQuery.fn = jQuery.prototype = { constructor: jQuery, init: function( selector, context, rootjQuery ) { }, selector: "", jquery: "1.7.2", length: 0, size: function() {}, toArra
-
浅谈Javascript的静态属性和原型属性
文章给各位介绍Javascript的静态方法和原型方法一个例子,如果大家对于Javascript的静态方法和原型方法不了解可以和小编一起来看看. 一段代码,了解静态方法和实例方法: <script> //对象构造函数 function Atest(name){ //私有属性,只能在对象构造函数内部使用 var className = "Atest"; //公有属性,在对象实例化后调用 this.name = name; //对象方法 this.hello = functio
-
浅谈Javascript中的函数、this以及原型
关于函数 在Javascript中函数实际上就是一个对象,具有引用类型的特征,所以你可以将函数直接传递给变量,这个变量将表示指向函数"对象"的指针,例如: function test(message){ alert(message); } var f = test; f('hello world'); 你也可以直接将函数申明赋值给变量: var f = function(message){ alert(message); }; f('hello world'); 在这种情况下,函数申明
-
浅谈JavaScript 覆盖原型以及更改原型
覆盖原型 //囚犯示例 //1.定义原型对象 var proto = { sentence : 4, //监禁年限 probation: 2 //缓刑年限 }; //2.定义原型对象的构造函数 var Prisoner = function(name, id) { this.name = name; this.id = id; }; //3.将构造函数关联到原型 Prisoner.prototype = proto; //4.实例化对象--采用工厂函数实例化对象 var makePrisoner
-
浅谈JavaScript中的属性:如何遍历属性
在JavaScript中,遍历一个对象的属性往往没有在其他语言中遍历一个哈希(有些语言称为字典)的键那么简单.这主要有两个方面的原因:一个是,JavaScript中的对象通常都处在某个原型链中,它会从一个或多个的上层原型上继承一些属性.第二个原因是,JavaScript中的属性不光有值,它还有一些除了值以外的其他特性,其中一个影响属性遍历的特性就是[[Enumerable]],如果该值为true,则称这个属性是可枚举的,否则反之. 知道了这些,我们就可以把属性的遍历分为四种情况. 注:示例代码中
-
浅谈JavaScript 中的延迟加载属性模式
目录 一.前言 二.按需属性模式 三.凌乱的延迟加载属性模式 四.类的唯一自己的延迟加载属性模式 五.对象字面量的延迟加载属性模式 六.结论 一.前言 传统上,开发人员在 JavaScript 类中为实例中可能需要的任何数据创建属性.对于在构造函数中随时可用的小块数据来说,这不是问题.但是,如果在实例中可用之前需要计算某些数据,您可能不想预先支付该费用.例如,考虑这个类: class MyClass { constructor() { this.data = someExpensiveCompu
-
浅谈Javascript数据属性与访问器属性
ES5中对象的属性可以分为'数据属性'和'访问器属性'两种. 数据属性一般用于存储数据数值,访问器属性对应的是set/get操作,不能直接存储数据值. 数据属性特性:value.writable.enumerable.configurable. 解释:configurable:true/false,是否可以通过delete删除属性,能否修改属性的特性,能否把属性修改为访问器属性,默认false: enumerable:true/false,是否可以通过for in循环返回,默认false: wr
-
浅谈JavaScript 数据属性和访问器属性
在JavaScript中对象被定义为"无序属性的集合,其属性可以包含基本值.对象或函数."通俗点讲,我们可以把对象理解为一组一组的名值对,其中值可以是数据或函数. 创建自定义对象通常有两种方法,第一种就是创建一个Object的实例,然后再为其添加属性和方法,例如: var person = new Object(); person.name = "Scott"; person.age = 24; person.sayName = function(){ alert(
-
浅谈javascript属性onresize
浅谈javascript属性onresize //获取屏幕宽度并动态赋值 var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度 if (window.innerWidth) winWidth = window.innerWidth; else if ((document.body) && (document.body.clientWidth)) winWidth = docum
-
浅谈JavaScript中你可能不知道URL构造函数的属性
URL URL 是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址.互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它, 在 Web 开发中,有许多情况需要解析 URL,这篇主要学习如何使用 URL 对象实现这一点 例如,这里是这篇博客文章的路径: https://www.vipbic.com/thread.html?id=101 通常您需要访问 URL 的特定属性.这些可能是主机名(例如 vipbic
-
浅谈javascript中的Function和Arguments
javascript的Function 属性: 1.Arguments对象 2.caller 对调用单前函数的Function的引用,如果是顶层代码调用, 则返回null(firefox返回undefined). 注:只有在代码执行时才有意义 3.length 声明函数是指定的命名参数的个数(函数定义是,定义参数的个数) 4.prototype 一个对象,用于构造函数,这个对象定义的属性和方法 由构造函数创建的所有对象共享. 方法: applay() --> applay(this,[])
随机推荐
- 解决 XAMPP 和 VMWare 端口443冲突问题
- 自己动手清除电脑中的木马程序
- VBS教程:属性-AtEndOfLine 属性
- Java添加事件监听的四种方法代码实例
- 基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
- iOS应用开发中使用Auto Layout来适配不同屏幕尺寸
- JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
- js 目录列举函数
- asp.net分割字符串的几种方法小结
- C#抓取网页数据 解析标题描述图片等信息 去除HTML标签
- js判断是否有6个连续数字的字符串的正则
- Node.js利用断言模块assert进行单元测试的方法
- 说一说Python logging
- tsys _rss程序
- 零基础写python爬虫之抓取百度贴吧代码分享
- JS简单判断滚动条的滚动方向实现方法
- 微信小程序 弹框和模态框实现代码
- Java中管理资源的引用队列相关原理解析
- 分析Android Activity的启动过程
- java中静态代码块与构造方法的执行顺序判断