如果我在构造函数中返回一些值或对象,那么var会得到什么?
function MyConstroctor() { //what in case when return 5; //what in case when return someObject; } var n = new MyConstroctor();
在两种情况下都会得到什么n?
其实这是一个测验问题,答案是什么? 自定义对象构造函数返回什么? a)新实例化的对象 b)未定义-构造函数不返回值 c)不论return语句是 d)等于return语句是什么;新实例化的对象(如果没有return语句)
我发现了这个很棒的链接:
上面提到的第二点魔术是构造函数返回特定的,可能预先存在的对象而不是对新实例的引用的能力。如果需要,这将允许您自己管理实际实例的数量;可能是由于资源有限等原因。
var g_deebee = new Deebee(); function Deebee() { return g_deebee; } var db1 = new Deebee(); var db2 = new Deebee(); if (db1 != db2) throw Error("JS constructor returned wrong object!");