码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 中 this用法详解

时间:2016-01-10 15:37:13      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

1、JavaScript中,执行代码必须放入函数中,如果没有显示写入函数中,则代码会自动被放入window的某个成员函数中;
2、JavaScript的函数都是成员函数,一定属于某个对象,如果没有显示指定此对象,那么这个函数就属于window对象;
3、 JavaScript函数的执行方式有三种,一是作为成员函数来调用,此时函数体内的this指向函数所属对象;二是作为构造函数来调用,此时函数体内的 this指向通过此构造函数新创建的对象;三是通过apply或call调用,此时函数体内的this是被参数控制的。
4、this的指向与定义函数的语法与位置无关,只与函数被调用的方式有关。

以上是从 http://www.2cto.com/kf/201208/149899.html 中copy的总结部分的文本。对于初学JS的我来说好比牛顿发现了新大陆 = = 

------------------------------------------------------------------------------------------------------------------------------------

先是将所有JS的执行代码归入函数,若没有明确的函数,则会自动被放入window的某个成员函数

所有JS代码归入函数后,再将函数归入对象。JS所有函数都是成员函数,所有一定属于某对象。若没有,则属于Window对象。

eg: document.write("xxx");   --->  function x(xx){document.write("xxx");}  ---> window(){ x(xx) }

全部规整完之后,就可以很好的讨论this的上下文了。

首先要明确:This的执行上下文是在运行过程中确定的,而作用于则是在定义的时候就确定好了的。

然后就找上述说的,一是作为成员函数来调用,此时函数体内的this指向函数所属对象;二是作为构造函数来调用,此时函数体内的this指向通过此构造函数新创建的对象;三是通过apply或call调用,此时函数体内的this是被参数控制的。

 

以上 2016-01-10 14:55:39

 

JavaScript 中 this用法详解

标签:

原文地址:http://www.cnblogs.com/jiangz93/p/5118461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!