1
私はJavaScriptを使ってその機能を拡張していますが、実際には起こりたくない動作に気付いています。JavaScriptを拡張しますか?
この例を取る:
String.prototype.capitalize = function()
{
return this.replace(/(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); });
};
Object.prototype.sizeof = function()
{
var counter = 0;
for(index in this)
{
console.info(index);
counter++;
}
return counter;
};
var animals = {cow: 'moo', duck: 'quack'}
animals.sizeof();
console.info(' ');
var stirngs = "yay";
for(i in stirngs) console.info(i);
は出力を生成します:
code
duck
sizeof
0
1
2
capitalize
sizeof
私は単なる文字列と同様に、それオブジェクト作られ、以来、私は、すべてのオブジェクトをプリントアウトすることはsizeofを示していることを取得文字列はオブジェクトであるため、連結されたcapitalizeオブジェクトとsizeofオブジェクトの両方を取得します。
なぜ、toLowerCaseのような他のJavaScriptオブジェクトを見ることができないのでしょうか?私はプロトタイプを介して拡張することと関係があると考えています。これらの人がこのように表示されないようにとにかくありますか、それは私が書いている他の機能を混乱させています。
ファンタスティック、感謝を! – Rob