機能します。JavaScriptとjQueryのは、 "これは" anonymosの内側に、私はこのコードを持って
問題はconsole.log(this.url)
がundefined
を印刷したということでしたので、私はこのように見えるコードを作り直し:私は問題はインスタンスの値としてthis
を取っていない閉鎖していたことを知っている
PageList.prototype.toHTML = function(){
var div = $('<div class="container"></div>');
var p = $('<p></p>');
var link = $('<a></a>');
var instance = this;
$.each(this.elements, function(index, array_value){
console.log(instance.url);
}
}
が、限り、私はそれにバインドされたインスタンスではなくundefined
の、windowオブジェクトを参照する必要があります持っていない関数の内部this
への参照を知っているように、少なくともそれはそこにブラウザの多くのケースです。
私のコードではどういうことが起こっているのですか?
注:私はjQueryのを使用していますし、this.elements
がすでに定義されています。
編集:今$.each
はので、私のコールバックは$.each
から呼び出されている、非インスタンス関数であることを考え出すイムそれはまだそれについて考えthis
への参照、window
でなければなりません。
JavaScriptのスコープの世界へようこそ。 – epascarello