![](/img/trans.png)
[英]Why String.Prototype replace doesn't work inside nested functions?
[英]Why “String.prototype={}” won't work?
我在javascript中編寫了這段代碼:
String.prototype = {
a : function() {
alert('a');
}
};
var s = "s";
s.a();
我希望它提醒a
,但它報告:
s.a is not a function
為什么?
您似乎正在用您的對象替換String
的整個 prototype
對象。 我懷疑這甚至會起作用,更別說是你的意圖了。
prototype
屬性不可寫,因此對該屬性的賦值無聲地失敗( @FrédéricHamidi )。
但是,使用常規語法有效:
String.prototype.a = function() {
alert('a');
};
var s = "s";
s.a();
你必須這樣寫:
String.prototype.a = function(){
alert("a");
};
var s = "s";
s.a();
小提琴: http : //jsfiddle.net/PNLxb/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.