84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
function clickItem() { currentLight(this); if (flag == 0) { alert('YOU WIN! GO ON!') level += 5; init(); } }
请问 currentLight()函数里的This指的是clickItem吗?
走同样的路,发现不同的人生
就是clickItem函数里的this一样,和函数调用方式有关。
clickItem
this
看你这个currentLight这个函数写在什么位置,你想要通过谁去调用,如果没有说明这个this所指的是window
你要看this是在哪个对象里面执行的,如果外层没有定义对象的话,那就是window对象
不知道 this是谁 就用alert一下 this我也分不清 互相学习
this不是指向函数的,看你的用法,作为构造函数和作为普通函数是两种情况,你这里应该是事件触发的普通函数,指向window
this指点前的对象
这里的this可以分情况讨论一下,不同的调用方式,以及是否是严格模式,会产生不同的this指向。
建议看博客吧。http://blog.anchengjian.com/#...
在严格模式下,这里的this指向了undefined
在非严格模式下,这里的this指向了window
在bind/call/apply/arrow function的模式下,这里的this直接指向了调用者
如果这个函数直接内联在dom的事件中触发,则this指向了这个触发事件的dom元素
大概就这么多,建议戳上面链接梳理一下所有可能的this指向
在js里,每个函数都有一个执行的上下文,可以通过this来访问。全局函数和全局变量的上下文是window,而对象的属性函数的上下文是该对象。clickItem是个全局函数,所以this指的是window对象。
JavaScript中的this依赖于函数的调用方式,因此把this称为调用上下文很合适。一般函数有四种调用方式:简单函数调用;对象方法调用;作为构造函数调用;通过apply()和call()调用。这四种方式的主要区别就在于调用上下文不同:简单函数调用的上下文是window对象,方法调用的上下文是对象,构造函数的上下文是是新创建的对象实例。这些调用中函数的this指向都是固定的,但是只有apply()和call()调用可以自主定义上下文。JavaScript函数式编程(0):函数基础 arguments、this、apply()、call()
你alert(this)一下就知道了
就是
clickItem
函数里的this
一样,和函数调用方式有关。看你这个currentLight这个函数写在什么位置,你想要通过谁去调用,如果没有说明这个this所指的是window
你要看this是在哪个对象里面执行的,如果外层没有定义对象的话,那就是window对象
不知道 this是谁 就用alert一下 this我也分不清 互相学习
this不是指向函数的,看你的用法,作为构造函数和作为普通函数是两种情况,你这里应该是事件触发的普通函数,指向window
this指点前的对象
这里的this可以分情况讨论一下,不同的调用方式,以及是否是严格模式,会产生不同的this指向。
建议看博客吧。
http://blog.anchengjian.com/#...
在严格模式下,这里的this指向了undefined
在非严格模式下,这里的this指向了window
在bind/call/apply/arrow function的模式下,这里的this直接指向了调用者
如果这个函数直接内联在dom的事件中触发,则this指向了这个触发事件的dom元素
大概就这么多,建议戳上面链接梳理一下所有可能的this指向
在js里,每个函数都有一个执行的上下文,可以通过this来访问。
全局函数和全局变量的上下文是window,而对象的属性函数的上下文是该对象。
clickItem是个全局函数,所以this指的是window对象。
JavaScript中的this依赖于函数的调用方式,因此把this称为调用上下文很合适。一般函数有四种调用方式:简单函数调用;对象方法调用;作为构造函数调用;通过apply()和call()调用。这四种方式的主要区别就在于调用上下文不同:简单函数调用的上下文是window对象,方法调用的上下文是对象,构造函数的上下文是是新创建的对象实例。这些调用中函数的this指向都是固定的,但是只有apply()和call()调用可以自主定义上下文。
JavaScript函数式编程(0):函数基础 arguments、this、apply()、call()
你alert(this)一下就知道了