严格模式的this

在严格模式下,this将保持他进入执行环境时的值:
function mf(){
"use strict"; // 这里是严格模式
  return this;
}
f() === undefined; // true
window.mf() === window; //true
在严格模式下,如果 this 没有被执行环境定义,那它将保持为 undefined
因为f是被直接调用的,而不是作为对象的属性或方法调用的(如 window.mf()此时返回window)。
有一些浏览器最初在支持严格模式时没有正确实现这个功能,于是它们错误地返回了window对象。

猜你喜欢

转载自www.cnblogs.com/xinyouhunran/p/12132596.html
今日推荐