apply 与 this 指向问题
apply 与 this 指向问题
this作为apply()第一个参数
1 | var x = 0; |
详细解释
1.当apply中第一个参数不传时,即相当于第一个参数是null/undefined,此时函数内的this指向的是全局变量global(如果是浏览器,那就是指向window对象),所以打印的是全局变量x的值0。
2.当第一个参数传 o 时,函数内的 this 指向的是 o 对象,o 对象有声明 x 属性为 1,所以返回的值为 1。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Prajna's blog!
评论