nodejs的回调函数里为什么需要return

JavaScript012

nodejs的回调函数里为什么需要return,第1张

return 不光是结构性好,最大的好处是可以防止出错,特别是callback里的callback,很多时候你if(xx) callback()else .... 后面其实还有逻辑,很多人写着写着就忘了,最后else结束了再执行个callback或者其他事情,整个逻辑就崩溃了。所以这时候在if里return是非常有必要的(在某一行确定函数需要在此结束的时候)。当然不return,人工来保证也是可以的,但是别人来写就很难保证了,我们代码里偶尔就会看到这种现象,代码量大了,维护的人多了。

this关键字指向调用它的对象,test()是在GLOBAL中调用,而且异步函数回调应该形成了闭包,回调函数中的this也应该指向GLOBAL对象,而至于为啥this.vall是undefined,则是因为用var申明的变量都是局部变量,并不是GLOBAL变量的属性。

好好去看看javascript中this关键字指的对象和闭包的概念吧。希望能帮到你