84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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)一下就知道了