有一个老技巧(我在 SO 上学到的)来捕捉调用构造函数作为函数,即忘记new
关键字。以下,或类似的,它进入顶部的每个构造函数。
if (!(this instanceof arguments.callee)) {
throw Error("Constructor called as a function");
}
当您需要时,有哪些替代方案"use strict";
?
可以保留其通用性吗?还是我们必须使用构造函数的名称来代替arguments.callee
?
有一个老技巧(我在 SO 上学到的)来捕捉调用构造函数作为函数,即忘记new
关键字。以下,或类似的,它进入顶部的每个构造函数。
if (!(this instanceof arguments.callee)) {
throw Error("Constructor called as a function");
}
当您需要时,有哪些替代方案"use strict";
?
可以保留其通用性吗?还是我们必须使用构造函数的名称来代替arguments.callee
?