我用javascript编写了这段代码:
String.prototype = {
a : function() {
alert('a');
}
};
var s = "s";
s.a();
我希望它提醒
a
,但它报告:s.a is not a function
为什么?
最佳答案
您似乎正在用您的对象替换 prototype
的整个 String
对象。我怀疑这甚至会奏效,更不用说你的意图了。prototype
属性不可写,因此对该属性的赋值会默默地失败(@Frédéric Hamidi)。
但是,使用常规语法是有效的:
String.prototype.a = function() {
alert('a');
};
var s = "s";
s.a();
关于javascript - 为什么 "String.prototype={}"不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8613907/