Javascript面向对象编程
博客专区 > 别寒 的博客 > 博客详情
Javascript面向对象编程
别寒 发表于4年前
Javascript面向对象编程
  • 发表于 4年前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

 

this关键字:

 

this这个关键字使用得非常广泛,代表的是当前的对象。呃,大概就是这么个意思哈。

 

function User(){}

var u1 = new User();

u1.name=何洪波;

u1.age=21;

alert(u1.name+ +p1.age);

var u2 = new User();

alert(u2.name);// 这里会输出 undefine

 

在实际编程中,我们可能会有这样的需求,当我们创建一个对象后,就希望该对象自动拥有某些属性,比如:我们创建User对象后,希望该对象自动拥有nameage属性

 

嘿嘿,我们可以使用this来解决

function User(){

this.name=hehongbo;

this.age=21;

}

var u1 = new User();

var u2 = new User();

alert(u1.name+  +u2.name);

 

this关键字可不止这么点作用哦,当在函数申明的时候使用,它又代表这更深一层的含义:

 

function User(){

var name=hehongbo;// var name 表示name这个属性是私有的

var age=21;

this.name2=何洪波;// this.name 表示name这个属性是公开的

 

this.show=function(){  // 这是User类的公开方法

alert(name+  +age);

}

 

function show2(){  // 这是User类的私有方法,只能在User类中使用

 

}

}

var u1 = new User();

u1.show();

 

如你所见,this在申明函数(方法)的时候使用,控制了方法的作用域范围。

 

问题:

function test(){

alert(this.v);

}

var v=10;

test();// 输出什么

 

function 类名(){

this.属性名;// 公开属性

var 属性名;// 私有属性

}

 

this只能在类的内部使用

 


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 28
博文 258
码字总数 131343
×
别寒
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: