我知道这很不满意,我只是在探索这个主意,因为我的一生似乎无法按照我想要的方式进行。
该示例应解释所有内容:
String.prototype.MyNS = function() {}
String.prototype.MyNS.fooify = function() {
return this + 'foo!';
}
var theString = 'Kung';
alert(theString.MyNS.fooify());
当然,这只是将函数定义附加到'foo'...而添加this()则行不通。
我知道我在那里迷失了方向,但无法弄清楚如何触发原件并给我我想要的东西。
最佳答案
这是您可以做到的一种方法:
String.prototype.MyNS = function() {
var _this = this;
return {
fooify: function() {
return _this + 'foo!';
}
};
}
看到它in action on jsFiddle
请注意,正如slashingweapon所指出的那样,您将必须这样称呼它:
String.prototype.MyNS().fooify();
据我所知,没有跨浏览器的方法,而不必调用
MyNS
作为函数。