javascript - 调用不带括号的函数javascript

标签 javascript function prototype

所以我写了这个 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

虽然我不知道你为什么要那样做。

关于javascript - 调用不带括号的函数javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21568499/

相关文章:

python - 这段代码没有按照我的意愿打印 - python

javascript - 一键调用javascript和c#方法

javascript - 应用于元素后,innerHTML 文本很快消失

javascript - 文本字段上的 onKeypress Enter Key 事件在 Chrome 中不起作用

Jquery SlideToggle() - 只切换某些项目

function - 谷歌浏览器中的剪贴板功能是什么

javascript - Object.keys(anObject) 是否返回一个对象的原型(prototype)?

javascript - Backbone Collection 和 Marionette CompositeView 中未定义的模型原型(prototype)

javascript - Js - 具有对象创建功能的原型(prototype)继承

javascript - 我的 jQuery 点击事件只工作一次