刚入行的小透明,对于一些基础的只是很匮乏。
在逛知乎的时候看到一个前端问题
编写一个函数,返回值也是一个函数,你调用返回的函数三次之后,调用这个返回的函数就不会有任何作用了。
看到这个问题我第一反应就是,这还不简单,定义一个全局变量然后在返回的时候增加这个变量并判断是否超过规定次数不就得了?
然后我去尝试写了一下。
结果我发现在这里的 this.countNumber 的值是 undefined
改成这样就可以了
原来在这种情况下,this 指向的是 getResult 这个对象本身。
对于 this 在不同作用域下的指向的探讨,可以访问下面的地址进一步学习。
https://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/