我知道这很不满意,我只是在探索这个主意,因为我的一生似乎无法按照我想要的方式进行。

该示例应解释所有内容:

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作为函数。

09-19 05:08