Ajax çağrısından belirli bir biçimde döndürülen bir grup JSON dizilim var ve hepsini kendi Javascript nesnesine dönüştürmeye başladığımda daha kolay bir yol olup olmadığını merak etmeye başladım Buradaki Javascript’ten bahsediyoruz.JSON dizgisini işlev örneğine döndürme Javascript
Ben var manyOfThem = [ { name: 'a' }, { name: 'b' }, { name: 'c' } ];
gerekecek Ve ben gibi şeyler yapabilirsiniz, böylece kolayca benim fonksiyonları ile bu nesnelerin her biri ilişkilendirmek istediğiniz:
myClass.prototype.doSomething = function() {
// do something to this.name
};
$.each(manyOfThem, function(index, item) {
item.doSomething();
});
benim husustur tahmin, ben istemem için (onun tekrarlayan çünkü) bunu:
var myClass = function(item) {
this.name = item.name;
// do the same for the rest of item's potentially 20 properties
};
var oneOfThem = new myClass(manyOfThem[0]); // I think this is redundant....
oneOfThem.doSomething();
neyse, ayrıca ben de paylaşır mısınız sadece o kadar emmek zorunda ve elle hepsini yapardım neden (güvenlik?) nedenler varsa, teşekkürler!
var MyClass = function() {};
MyClass.prototype = {
doSomething: function() {
alert(this.name);
}
};
Sonra Yani
var manyObj = $.map(manyOfThem, function(obj) {
return $.extend(new MyClass(), obj);
});
Arayabileceğin:
manyObj[0].doSomething(); // alert("a")
Ancak, bu yaklaşım doğrudan korumak olmaz
Ben bunu doSomething' 'te istediğinize bağlıdır düşünüyorum. Planın ne olduğunu paylaşabilir misin? Gibi neden sadece '' doSomething' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' – Ian
Her zaman "myClass" bir diziyi kabul edebilir (bu durumda "ManyOfThem"). Ardından, öğelerinden birini (bazı "doSomething" işlevini çağırmak) değiştirmek istediğinizde, 3 dizini anlamında "myClass.doSomething (3)" ifadesini kullanabilirsiniz. Daha sonra dahili olarak, dizideki 3. öğe üzerinde çalışır (diziyi göstermeden). – Ian
@ian Eh, gerçekten bir şey olabilir, ve eğer bir şey yapamazsa, bir şey dışında bir şey olsaydı, 1. küresel isim alanında, 2. karşı nesne yönelimli tasarım – Lim