请考虑以下代码段:
function Animal() {
}
Animal.prototype.run = function() {
(function() {
console.log(this);
})();
}
var g = new Animal();
g.run();
它记录Window
,这很有意义,但是在下一段中,它输出undefined
!!!:
class Animal {
run() {
(function() {
console.log(this);
})();
}
}
var g = new Animal();
g.run();
这是相同的代码,但使用类语法,使得this
等于undefined
的类语法有什么不同?