function animal(){
var species = new Array('Monkey', 'Dog', 'Cat');
for(i=0;i<species.length;i++)
{
document.writeln(species[i]);
}
}
species
関数を変更せずに配列に別の値を追加するにはどうすればよいanimal()
ですか?
function animal(){
var species = new Array('Monkey', 'Dog', 'Cat');
for(i=0;i<species.length;i++)
{
document.writeln(species[i]);
}
}
species
関数を変更せずに配列に別の値を追加するにはどうすればよいanimal()
ですか?
この関数のコードを変更せずに配列に値を追加することは不可能です。これspecies
は、そこで使用される変数が関数のスコープ内で宣言されたローカル変数であるという単純な理由によるものです。したがって、この変数は外部コードからは見えません。それに加えて、この配列の値はハードコーディングされています。だから忘れてください。機能実装に触れずにはいられない。
あなたの懸念を完全に理解しているかどうかはわかりませんが、他の言語とは異なり、javascript は関数を完全に上書きできます。
したがって、上記のコードを想定すると、次のことができます。
window.animal = function(){
var species = new Array('Monkey', 'Dog', 'Cat', 'Mouse', 'Fish');
for(i=0;i<species.length;i++)
{
document.writeln(species[i]);
}
}
とは言っても、私は の使用を避け、document.writeln()
その関数はより悪いと考えていますeval()
... また、Darin が示唆したように、可能であれば関数にローカルなデータも定義しません。