所以我编写了这个String函数来为句子中的每个单词添加内容
String.prototype.addStuff = function() {
return this.replace(/ /g, "-stuff ") + "-stuff"
}
我被告知有一种方法可以在字符串上调用此函数而不使用括号。 谁知道怎么做?
我尝试在括号中包装函数声明并在末尾添加一对:
String.prototype.liu = (function() {
return this.replace(/ /g, "-liu ") + "-liu"
})();
但这不起作用:/
答案 0 :(得分:6)
您可以使用Object.defineProperty
并提供访问者描述符:
Object.defineProperty(String.prototype, 'liu', {
get: function() {
return this.replace(/ /g, "-liu ") + "-liu"
}
});
"foo".liu
虽然我不知道你为什么要那样做。
答案 1 :(得分:0)
function
打包到prototype
进行自动调用。现在,可以做的,是在{/ 1}} 中定义共享的function
。
当然,你必须打电话给它,但根本没有回答。
Good Read on how prototypical inheritance works
现在,您可以执行:
prototype
但是你必须正确地格式化才能使其正常工作。