很简单~ 但是容易错~

原题

执行代码求输出,并说明为什么,严格模式下输出有变化吗,为什么

var a = function () {this.b = 3;}
var c = new a();
a.prototype.b = 9;
var b = 7;
a();

console.log(b);
console.log(c.b);
点击展开 console
console.log(b); // 3
console.log(c.b); // 3

比较容易混淆的是可能不会注意到最后函数 a 的执行~