(JavaScriptで申し訳ありませんが、別のthis
質問。)「this」は以下のjavascriptで何を表していますか?
私は以下のコードを持っている、と私は「これは」end--ウィンドウや鳥の呼び出しで何を表すのか思ったんだけど?おそらくwindow
var Bird = (function() {
Bird.name = 'Bird';
function Bird(name) {
this.name = name;
}
Bird.prototype.move = function (feet) {
return alert(this.name + (" flew" + feet + "ft."));
};
return Bird;
}).call(this);
これは、関数xにパラメータxを追加し、呼び出し内にアラート(x)を追加することで、それ以外の場合は空のスクリプトでテストしました。これは**未定義です**。 – delicateLatticeworkFever
@goldilocksそんなことはできません。 'call'を使うと、最初の引数はあなたが実行しているコンテキスト/スコープです。関数にパラメータとして渡されません。あなたが正しく示唆しているものをテストするためには、 '(function(){console.log(this);})call(this);'を試してみてください。引数を見たい場合は、 '(function(arg){console.log(this、arg);})call(this、this);'を試してください。これらの両方のテストは、「これ」が「ウィンドウ」であることを示しています。 – Matt
js私の例のように:http://jsfiddle.net/Umseu/1 – Matt