【发布时间】:2015-12-30 14:46:06
【问题描述】:
谁能给我解释一下:
var foo = function() {
if (!(this instanceof foo))
return new foo();
return {}; // Object
};
foo.prototype.myPlugin = function () { // Uncaught TypeError: foo(...).myPlugin is not a function
alert("bar")
};
foo().myPlugin();
但是:
var foo = function() {
if (!(this instanceof foo))
return new foo();
return ""; // string, number, etc
};
foo.prototype.myPlugin = function () {
alert("bar") // --> "bar"
};
foo().myPlugin();
如我所见,jquery 像第一个代码示例一样工作,并返回找到的 DOM 节点数组。但是当我尝试返回数组时,我也有这个错误。
【问题讨论】:
-
jQuery?这里没有 jQuery 或 Dom 节点。我知道为什么第一个代码段会引发错误,但我对第二个代码段的目的感到困惑。
标签: javascript