为了账号安全,请及时绑定邮箱和手机立即绑定

构造函数体内的this

构造函数体内的this

慕粉3536829 2016-09-22 14:48:14
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却是空的?
查看完整描述

3 回答

?
qq_昼绽_0

TA贡献82条经验 获得超17个赞

  1. 类的实例。

  2. obj只是构造器名称

  3. nobj是obj类的实例,而且你创建时给它的name,age复值了。

  4. 最后这个obj,只是个未定义的空对象

查看完整回答
1 反对 回复 2016-09-22
?
狼顾之相1995

TA贡献81条经验 获得超22个赞

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有两个参数

查看完整回答
反对 回复 2016-09-22
  • 3 回答
  • 0 关注
  • 1483 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信