严格模式的this

在严格模式下,this将保持他进入执行环境时的值:
function mf(){
"use strict"; // 这里是严格模式
  return this;
}
mf() === undefined; // true
window.mf() === window; //true
在严格模式下,如果 this 没有被执行环境定义,那它将保持为 undefined
因为mf是被直接调用的,而不是作为对象的属性或方法调用的(如 window.mf()此时返回window)。
有一些浏览器最初在支持严格模式时没有正确实现这个功能,于是它们错误地返回了window对象。
posted @ 2020-01-02 13:58  你风致  阅读(320)  评论(0编辑  收藏  举报