Number
,String
,Boolean
都是原始类型。如果从构造函数返回这些类型的值之一,它将被忽略,构造函数将返回其返回此对象的正常行为。
答案 0 :(得分:1)
请注意,从技术上讲,任何函数都可以用作构造函数。
但为了强调功能,构思为构造函数,它们被称为大写字母:动物,而不是动物。
通常情况下,构造函数不会返回任何内容 - 他们的任务 - 写下您需要的所有内容,在此,将自动生成
但是如果仍然存在对return的显式调用,那么它将应用一个简单的规则:
例如,对象返回:
function BigAnimal() {
this.name = "Mouse";
return { name: "Godzilla " }; // <-- return the object
}
alert( new BigAnimal().name ); // Godzilla, we got an object instead of this
以下是换行符的示例:
function BigAnimal() {
this.name = "Mouse";
return "Godzilla"; // <-- return the primitive
}
alert( new BigAnimal().name ); // Mouse, received this (but Godzilla is gone)
这项工作的特点已在新标准中注册,但很少使用。