, ben 'bu' referans kullanarak bir sorun var kullanarak çağrı işlevi nasıl'bu' forEach döngü içinde aşağıdaki nesnesinde
function SampleObject(){
this.addObject = function(object){...}
...
// more code here
...
this.addNewObjects= function(arr){
arr.forEach(function (obj) {
this.addObject(new Obj(obj.prop1, obj.prop2));
});
}
}
Ben bağlamını farz ediyorum değişen ve yani 'bu' yinelenen 'obj' anlamına gelir ve 'SampleObject' değil. Problemi normal bir döngü kullanarak çözdüm, ancak bunun neden işe yaramayacağına inanıyorum ve bunu yapmak için başka bir yol olup olmadığını bilmek istiyorum.
'SampleObject()' öğesini nerede/nasıl ararsınız? – Danny
Bunu şu şekilde okumanızı öneririm: [burada] (http://toddmotto.com/understanding-the-this-keyword-in-javascript/) veya [here] (http://javascriptissexy.com/ anlamak-javascripts-ile-açıklık-ve-master-it /) – javinor
@javinor teşekkürler, bu makaleler çok yardımcı oldular. İşlev kapsam oluşturur ve bu nedenle 'bu', varsayılan olarak 'this' sahibi olan Window nesnesine aittir. – user3339411