所以我写了这个String函数,为句子中的每个单词添加内容

String.prototype.addStuff = function() {
    return this.replace(/ /g, "-stuff ") + "-stuff"
}


有人告诉我,有一种方法可以在不使用括号的情况下在字符串上调用此函数。
有人知道吗?

我尝试将函数声明包装在括号中,并在末尾添加一对:

String.prototype.liu = (function() {
    return this.replace(/ /g, "-liu ") + "-liu"
})();


但这不起作用:/

最佳答案

您可以使用Object.defineProperty并提供访问器描述符:

Object.defineProperty(String.prototype, 'liu', {
    get: function() {
        return this.replace(/ /g, "-liu ") + "-liu"
    }
});

"foo".liu


尽管我不知道您为什么要这么做。

09-25 19:32