bod*_*ydo 0 javascript this apply window-object
看看这个例子:
function aaa () {
console.dir(this)
}
function bbb () {}
aaa.apply(undefined, [1,2,3]) // this in aaa is `window` object
aaa.apply(bbb, [1,2,3]) // this in aaa is `bbb` function
Run Code Online (Sandbox Code Playgroud)
为什么this设置为window第一个应用案例,即使我试图强迫它undefined?
当不处于严格模式且任何一个null或undefined作为第一个参数传递时.apply(),this将被设置为window浏览器中的全局对象.
在严格模式下,它将设置this为您传递的实际值.
一般来说,非严格模式试图容忍错误,甚至会自动"修复"一些错误.这被证明有时是一个问题,因为应该立即编码错误的东西被系统"掩盖"了.出于多种原因发明了严格模式,其中一个原因是停止隐藏编码错误.
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |