Javascript 调用不带括号的函数

Javascript 调用不带括号的函数,javascript,function,prototype,Javascript,Function,Prototype,所以我写了这个字符串函数来给句子中的每个单词添加内容 String.prototype.addStuff = function() { return this.replace(/ /g, "-stuff ") + "-stuff" } 我被告知有一种方法可以在不使用括号的情况下对字符串调用此函数。 有人知道怎么做吗 我尝试将函数声明用括号括起来,并在末尾添加一对: String.prototype.liu = (function() { return this.replace(

所以我写了这个字符串函数来给句子中的每个单词添加内容

String.prototype.addStuff = function() {
    return this.replace(/ /g, "-stuff ") + "-stuff"
}
我被告知有一种方法可以在不使用括号的情况下对字符串调用此函数。 有人知道怎么做吗

我尝试将函数声明用括号括起来,并在末尾添加一对:

String.prototype.liu = (function() {
    return this.replace(/ /g, "-liu ") + "-liu"
})();
但这不起作用://

潜在地,您不能将整个
函数
封装到
原型
中以自动调用。 现在,您可以在
原型中定义一个共享的
函数

当然,你必须称之为,但这比没有答案要好。

现在,您可以执行以下操作:

yourFunc.prototype.call('yourFunc');
但是您必须正确地格式化它才能使其工作。

潜在地,您不能仅仅将整个
函数
包装到
原型
中以自动调用。 现在,您可以在
原型中定义一个共享的
函数

当然,你必须称之为,但这比没有答案要好。

现在,您可以执行以下操作:

yourFunc.prototype.call('yourFunc');
但您必须正确设置格式才能使其正常工作。

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

虽然我不知道您为什么要这样做。

您可以,使用并提供访问器描述符:


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

你永远不会用括号括起来。你会从外部调用你的函数。如果你“被告知”,那么你为什么不问问被告知你的人…?(我唯一能想到的是一个
toString
方法,当字符串输出到某处时,该方法将自动调用。)在解析为函数的表达式(例如变量名或函数表达式)导致调用函数后,在括号中包含一个形式参数列表。没有和没有其他方法,这是不普遍可用的。请参阅。请参阅许多方法来实现这一点。您永远不会将其用括号括起来。你会从外部调用你的函数。如果你“被告知”,那么你为什么不问问被告知你的人…?(我唯一能想到的是一个
toString
方法,当字符串输出到某处时,该方法将自动调用。)在解析为函数的表达式(例如变量名或函数表达式)导致调用函数后,在括号中包含一个形式参数列表。没有和没有其他方法,这是不普遍可用的。请参阅。请参阅,了解许多方法。尽管如此,它仍然使用
()
。如果我的函数名为addStuff,我将如何执行此操作?addStuff.prototype.call('addStuff')?它仍然使用
()
。如果我的函数被称为addStuff,我该怎么做呢?addStuff.prototype.call('addStuff')?但仅在ES5主机中,例如IE 8已退出:-(谢谢,这很有效,很酷。我在一次采访中被问到这个问题,完全被难倒了。我写了一个字符串函数,在每个单词的末尾加上-liu,然后我的采访者问我,“如果我想这样称呼它:“你好,我的名字是。”liu,它会返回“你好,liu,我的名字是liu”“不过,只有在ES5主机中,例如IE 8退出了。:-(谢谢,这很有效,很酷。我在一次采访中被问到这一点,完全被难倒了。我编写了字符串函数,在每个单词的末尾加上-liu,然后我的采访者问我,“如果我想这样称呼它:“你好,我的名字是”。liu会回来的。”你好,刘我的刘叫刘”