Çağrının ardından olayları ele alan öğeler oluşturacağına çalışıyorum. Her şeyi bu nesneye koymak istedim, bu yüzden bu elemanlar tarafından çağrılan olaylar da thsi nesnesinde. Sorun şu ki, eğer başka bir şekilde yapmam gerekirse, bunun optimal olup olmadığından emin değilim. JS OOP olaylarında Değişkenler ve Bağlam kullanımı
"use strict";
var addFunctionBlock = (function(uarea){
var target = document.getElementById(uarea); // VS this.target
this.init = function(){
for(var a = 0; a < 5; a++){
this.button = document.createElement('button');
this.button.onclick = this.eventHandler;
this.button.style.width = "50px";
this.button.style.height = "20px";
target.appendChild(this.button)
}
};
this.eventHandler = function(ev){
target.appendChild(document.createTextNode(ev));
};
this.init();
});
hangi iç işlevdir nesne değil düğmeye işaret eder butonuna tıklamadan sonra denilen
this.target
ama olaylarla olayları yapmaya çalışıyordu, bu yüzden değişken
var target = ...
bunu swaped ama öyle, o emin değilim doğru şekilde (ve bu da sorularımdan biri bu şekilde yapmalı mıyım yoksa belki de kötü). Küresel kapsamdaki diğer değişkenlerle etkileşime girebilir mi (testler yapıp geçti ama muhtemelen bir şeyleri kaçırdım)? Nesnelerdeki ve kullanım (bu) bağlamında ne zaman değişkenler kullanmalıyım? İnternette araştırdım ama bunun hakkında hiçbir şey bulunamadı;
Oh değişkenine gidebiliyorsanız bu bağlamı kullanabilirsiniz: 'var aa = new addFunctionBlock (area);' vb. bu yüzden aynı nesnenin birden çok örneğini kullanıyorum. Bu yüzden OOP tarzı yapmak istedim. Dizi hakkında bildiğim örnek programda unuttum :). Bu işlev için teşekkürler() {}. Bind() yöntemi! Benim github'da görebileceğiniz tam kod: https://github.com/underscorejasiu/elearning/blob/simple-drag-n-drop-game/pickndrop.js – Jasiu