这个没有新关键字

时间:2018-10-08 15:24:43

标签: javascript ecmascript-5

我试图了解new关键字的行为并在ES5中进行调用。假设有人犯了一个错误,并拥有以下代码并在浏览器中运行:

function Shape(colour) {
    this.colour = colour;
}

function Circle(colour) {
    Shape(this, colour);
}

var shape1 = Shape('blue'); // undefined
var shape2 = Circle('red'); // undefined

我的问题是,会发生什么?

window.colour // no points to window; shouldn't this point to 'red' now?

// window.colour now points to a circle object; why is there no colour property on the 
//object but it rather points to a circle object?
new Circle('red'); 

我已经阅读了一些有关此和新内容的指南,但还没有弄清楚它们如何影响发生的事情。

感谢您的帮助, 安娜格尼

0 个答案:

没有答案