我确定我这个问题的措辞是错误的,但我不知道如何解释好...
我有一个模糊的想法,我在某个地方读到过我可以在 JavaScript 中向对象添加方法 - 我的意思是这样的:
function Exclaimify(aString)
{
return aString + "!";
}
var greeting = "Hello";
alert(greeting.Exclaimify()) // this shows "Hello!" in an alert box
这可能吗?如果可以,我该怎么做?
最佳答案
就像它是一个变量一样分配给它。然后你就可以使用this
了。简单!
var obj = {foo: "bar"};
obj.someFunc = function()
{
return this.foo;
}
效果很好……除了!呃,除了,不是在琴弦上,它不受这种愚蠢行为的影响。 (它们是完全不可变的。)然而,还有另一种方法,即修改对象的“类”并在其中添加方法。我所说的“类”实际上是指“原型(prototype)”。 JavaScript doesn't have classes, it has prototypes .修改 String
原型(prototype)的语法如下所示:
var greeting = "Hello";
String.prototype.Exclaimify = function()
{
return this + "!";
}
alert(greeting.Exclaimify()) // this shows "Hello!" in an alert box
关于javascript - 我可以向 JavaScript 中的对象添加公共(public)函数吗?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1072442/