JS中this关键字的使用

 js中this关键字代表类的变量和方法为公有方法,可供类的对象访问。看下面的代码:

[html]  view plain copy
  1. <html>  
  2. <head>  
  3. <script language="javascript">  
  4.   function Person() {  
  5.     this.name = "abc";  
  6.     this.age = 900;  
  7.   }  
  8.   
  9.   var p1 = new Person();  
  10.   window.alert("p1的名字为:" + p1.name + " " + p1.age);  
  11.    var p2 = new Person();  
  12.   window.alert("p2的名字为:" + p2.name + " " + p2.age);  
  13. </script>  
  14. </head>  
  15. <body>  
  16. </body>  
  17. </html>  


这样p1和p2都是Person的对象,name和age属性都使用this关键字标明,是类的公有属性,所以p1和p2都可以访问。原理是在桟中p1指向一个地址,在堆中这个地址下面有一个name和age属性。同时在桟中p2指向一个地址,在堆中这个地址下面也有一个name和age属性,这两个地址指向的name和age属性的值是一样的。但是改变p2指向地址的name属性的值,p1指向地址的name属性的值不会改变。因为并不在一块内存中。

再来看一段代码:

[html]  view plain copy
  1. <html>  
  2. <head>  
  3. <script language="javascript">  
  4.    function test1() {  
  5.       alert(this.v);  
  6.    }  
  7.    var v = 90;  
  8.    window.test1();//==test1();  
  9. </script>  
  10. </head>  
  11. <body>  
  12. </body>  
  13. </html>  


这段代码的输出结果是90,从面向对象的角度考虑,方法和属性都是对应对象的,那么test1和v都是对应window对象的,window对象是javascript层级中的顶层对象。可以把当前窗口对象的方法当作函数来使用,如只写alert(),而不必写window.alert();

注意:哪个对象实例调用this所在的函数,那么this就代表哪个对象实例。this 不能放在类的外部使用,否则调用者就变成了window啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值