首页 > 其他 > 详细

关于this

时间:2016-02-16 16:44:27      阅读:282      评论:0      收藏:0      [点我收藏+]

一:全局环境中的this指的是window对象

技术分享

二:作为对象的方法调用

  当函数作为对象的方法被调用时,this指向该对象

      例子:

技术分享

三:作为普通方法调用

  当函数不作为对象的属性被调用,而是作为普通函数函数被调用,this指向全局对象,也就是window

  例子1:

技术分享

  此时this是指向window对象。

 

技术分享

  如上图运行结果可以看出,在函数内部定义变量,未使用var 声明,则指向全局变量。可以对比结果

技术分享

  

  例子2:

技术分享

  如上图所示,作为普通函数调用时,this指向window 。作为对象属性调用时,this指向该对象。this是在对象内部函数定义的,但是调用的时候是作为普通函数调用,多以this依然指向window。

      this的指向,是根据调用时的环境,而非定义时的环境。

四:改变this指向,关于call()和apply();

  跟普通函数的调用相比,用call()或者apply()可以改变传入的this;

技术分享c

参考资料:《JavaScript设计模式与开发实践》 曾探

未完待续

 

关于this

原文:http://www.cnblogs.com/enemy/p/5190854.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!