构造函数体内的this

function obj ( name,age){

    this.name = name,

    this.age = age

}

这里的this是什么意思?

上面的函数obj有属性吗?


var nobj = new obj('a',10);


console.log( Object.keys(nobj) )   //name , age 为什么nobj有2个属性?

console.log( Object.keys(obj) )   // [] 而obj却是空的?


慕粉3536829
浏览 1484回答 3
3回答

qq_昼绽_0

类的实例。obj只是构造器名称nobj是obj类的实例,而且你创建时给它的name,age复值了。最后这个obj,只是个未定义的空对象

狼顾之相1995

this表示类实例本身。this的用法1、表示对当前对象的引用!public class A{   public A getA(){      return this;//表示获取当前实例本身   }}2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!public class A{   private int a = 0;//位置1   public A getA(int a){      this.a = a;//前面this.a表示 位置1 的a,赋值=号右侧的表示参数a   }}3、用于在构造方法中引用满足指定参数类型的构造器。public class A{   public A(int a){   }   public A(){      this(1);//这里调用自身的构造函数public A(int a){   }}obj有两个参数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript