【发布时间】:2017-07-08 03:06:49
【问题描述】:
代码如下:
function a() {
function makeWorker() {
this.ename = "Pete";
return function() {
console.log(this);
console.log(this.ename);
};
}
var work = makeWorker();
work();
}
var ename = "John";
a();
this.name 输出到“Pete”。但是我在全局范围内定义了另一个变量 ename。那么为什么打印“Pete”而不是“John”呢?程序在非严格模式下运行。
【问题讨论】:
-
@MiHawk:提升在哪里发挥作用?
标签: javascript