几行代码立即理解js的对象,类,原型等概念
2015-02-23 00:00
288 查看
很多人觉得js的类和对象及原型这个概念特别难理解,特别是习惯java,php,C#等高级语言编程的同学们。
无意中找到了下面一组代码,貌似一下子理解了js中的原型,类,对象等概念。
1、对象方法理解就很简单了,主要是如果类生成一个实例,那么该实例就能使用该方法
2、类方法,不需要通过生成实例就可以使用的方法
3、原型方法主要是用来对JS已有的系统对象进行扩展而生的,例如Array数组没有什么方法,你可以为其增加原型方法,那么创建的数组就拥有了该方法。
1、对象方法包括构造函数中的方法以及构造函数原型上面的方法;
2、类方法,其实这里的类就是一个函数,在js中由于函数也是一个对象,所以可以为函数添加属性以及方法,这种方法在node中用的比较多;
3、原型方法一般用于对象实例共享,比如Person.prototype.sayName=function(){console.log(this.name);};在原型上面添加该方法,就能实现共享。这样就不用每一次初始化一个实例的时候,为其分配相应的内存了。
原来原型方法就是事后定义类,所有类的实例都可以调用原型方法
而定类方法 ,就好比定义静态类的静态方法 ,只能用静态类的方式调用。
无意中找到了下面一组代码,貌似一下子理解了js中的原型,类,对象等概念。
function People(name) { this.name=name; //对象方法 this.Introduce=function(){ alert("My name is "+this.name); } } //类方法 People.Run=function(){ alert("I can run"); } //原型方法 People.prototype.IntroduceChinese=function(){ alert("我的名字是"+this.name); } //测试 var p1=new People("Windking"); p1.Introduce(); People.Run(); p1.IntroduceChinese();
1、对象方法理解就很简单了,主要是如果类生成一个实例,那么该实例就能使用该方法
2、类方法,不需要通过生成实例就可以使用的方法
3、原型方法主要是用来对JS已有的系统对象进行扩展而生的,例如Array数组没有什么方法,你可以为其增加原型方法,那么创建的数组就拥有了该方法。
1、对象方法包括构造函数中的方法以及构造函数原型上面的方法;
2、类方法,其实这里的类就是一个函数,在js中由于函数也是一个对象,所以可以为函数添加属性以及方法,这种方法在node中用的比较多;
3、原型方法一般用于对象实例共享,比如Person.prototype.sayName=function(){console.log(this.name);};在原型上面添加该方法,就能实现共享。这样就不用每一次初始化一个实例的时候,为其分配相应的内存了。
原来原型方法就是事后定义类,所有类的实例都可以调用原型方法
而定类方法 ,就好比定义静态类的静态方法 ,只能用静态类的方式调用。
function People(){ this.say=function(){ console.log('Class'); } } People.prototype.sayHi=function(){ //为People添加一个原型方法,所有People的实例都可以访问 console.log('Hi!'); } People.say=function(){ //为People添加一个类方法,仅以People为对象时可以访问 console.log('Object'); } var p=new People(); p.say(); //Class People.say(); //Object p.sayHi(); //Hi People.sayHi(); //error
相关文章推荐
- JS概念理解(一)——函数和对象、原型链、_proto_
- js的原型链和对象理解
- 对js原型对象的理解
- 第186天:js深入理解构造函数和原型对象
- 关于js中,原型对象,原型链,构造函数,实例之间关系的理解与区别
- JS-原型对象的理解
- js 原型对象和原型链理解
- js核心基础之理解原型对象以及原型继承(一)
- 关于js中对对象原型和构造函数的一些理解
- Atitit 依赖管理之道 1. 概念 依赖管理,是指在什么地方以什么形式引入外部代码。 1 1.1.1. 理解模块化和依赖管理: 1 1.2. 依赖管理,有三个层面。 单一职责原则,协议对象引用,
- 深度理解JS对象及原型
- 【web前端-理解js原型】理解Javascript中的原型对象、原型链和继承
- JS:收集的一些Array及String原型对象的扩展实现代码
- js核心基础之理解原型对象以及原型继承(二)
- js原型对象理解
- 谈谈对js原型对象的理解
- 理解js的prototype原型对象
- JS 对象,原型的理解
- JS中Object对象的原型概念基础
- js核心基础之理解原型对象以及原型继承(三)