刚入行的小透明,对于一些基础的只是很匮乏。

在逛知乎的时候看到一个前端问题

编写一个函数,返回值也是一个函数,你调用返回的函数三次之后,调用这个返回的函数就不会有任何作用了。

看到这个问题我第一反应就是,这还不简单,定义一个全局变量然后在返回的时候增加这个变量并判断是否超过规定次数不就得了?

然后我去尝试写了一下。

clipboard.png

结果我发现在这里的this.countNumber的值是undefined

改成这样就可以了

clipboard.png

原来在这种情况下,this指向的是getResult这个对象本身。

对于this在不同作用域下的指向的探讨,可以访问下面的地址进一步学习。

https://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/

LynTss
14 声望0 粉丝