我们在写js时,特别是用到回调函数时,经常会发现this指代的对象总是可能脱离自己的思路而发生改变.面向对象语言的特性告诉我们this始终指代它的调用者,而在js中回调函数中内部的this默认指向全局环境即最终上下文,所以很多时候我们不作this对象的声明绑定,就会发生指向错误,找不到我们想要的值.看下面这段代码: var a1={ name:"ZhuXingyu" } function outFunc(){ //函数a console.log(this.a1.name);…
首先,我们看一下图示代码,每一个注释其实代表一个 js 文件.所以下面其实是三个 js 文件 .第一个是我们要运行的 main 文件,后面两个是 a, b 文件. 从上面可以看书 a ,b 两个模块相互引用,上面输出结果如下所示: 那这要怎么理解呢? 首先看 main 模块,先输出 main starting; 接着调用了 a 模块: 然后我们进入到 a 模块,先输出 a starting; 接着调用 b 模块: 然后我们进入到 b 模块,先输出 b starting; 接着调用 a 模块…