关于javascript中静态成员和实例成员的详细解释 

在我们了解什么是静态成员和实例成员之前,我们首先来了解一下什么是实例?

实例就是由构造函数创建出来的对象。

例如案例中 p 就是实例:

function Person() {}//  此函数为构造函数

var p=new Person();  // p为构造函数创建出来的对象

我们在讨论静态成员和实例成员时候,把函数当成构造函数, 把创建出来的对象称之为实例。在此明白了什么是实例,下面我们就可以说什么是静态  成员和实例成员了。

首先什么是实例成员?

实例成员:由构造函数创建出来的对象能直接访问的属性和方法,包括:对象本身 以及原型中的所有的属性和方法。

案例如下: function Person(name, age) {

this.name = name;

this.age = age;

}

Person.prototype.sayHi = function() {

console.log("hello, rose");

};

var p = new Person("jack", 19);

( p.name  p.age  p.sayHi)  括号内三个就是实例成员了。

再次什么是静态成员?

 静态成员:由构造函数直接访问到的属性和方法。大家注意是直接访问的属性和方法,间接获取就不是了。

案例如下: function Person(name, age) {

this.name = name;

this.age = age;

}

var p = new Person("jack", 19);

Person.say = function() {    alert("这是静态方法");            };

Person.say  就是静态成员

Person.length  也是静态成员,因为length是函数中的 方法,是来直接获取函数中形参的个数。

接下来会有人问,在实际工作中有什么用?我个人认为工作中用到的机会不多,有人会说工作中既然用的不多,  干嘛还废那么话来说,但是对于我们看Jquery源码是有用处的。

jQuery 的 each方法就是给静态成员实现这个方法,然后实例成员直接调用这个方法(大多数框架中都是使用该方法) 。

所有有了两种使用方式:

$.each("div",function(){})

$("div").each(function(){})

最新文章

  1. Tomcat内存溢出的三种情况及解决办法分析
  2. java集合类深入分析之Queue篇
  3. Meteor + node-imap(nodejs) + mailparser(nodejs) 实现完整收发邮件
  4. IOS 2D游戏开发框架 SpriteKit-->续(完善角色功能)
  5. 函数动态参数实现format
  6. 想在Images.xcassets 只能用 imageNamed 加载里边的素材 其他方法 你就别费老劲了
  7. 记录sqoop同步失败问题解决过程,过程真的是很崎岖。(1月6日解决)
  8. Android小案例——简单图片浏览器
  9. 【转】深受开发者喜爱的10大Core Data工具和开源库
  10. [Javascript] Immute Object
  11. Java基础知识强化之集合框架笔记55:Map集合之HashMap集合(HashMap<Integer,String>)的案例
  12. CATransform3DRotate 实现左右,上下翻转效果
  13. Codeforces 56D Changing a String
  14. 线段树练习 codevs 1080
  15. 使用Cloudsim实现基于多维QoS的资源调度算法之中的一个:配置Cloudsim环境
  16. 文件翻译002片:Process Monitor帮助文档(Part 2)
  17. txt文件的读取
  18. 读书笔记 effective c++ Item 29 为异常安全的代码而努力
  19. [leetcode-604-Design Compressed String Iterator]
  20. spring的基本使用

热门文章

  1. Git更新代码
  2. The story of one latency spike
  3. css实现多行文字限制显示&编译失效解决方案
  4. Centos 7 中yum安装Mysql和修改mysql配置
  5. Codeforces 805D/804B - Minimum number of steps
  6. Java反射获取class对象的三种方式,反射创建对象的两种方式
  7. linux高级技巧:rsync同步(二)
  8. Palindrome Linked List 234
  9. hdu5355 Cake
  10. luogu2606 排列计数