Burada çok basit bir şeyi kaçırdığımı düşünüyorum. Bir işlevi bir nesneyi ve aramak için yöntemi geçmek istiyorum. Bu gönderi için neden uzun süredir. :-)Bir JavaScript nesnesinin yöntemini dinamik olarak nasıl arayabilirim?
var myObj = new someObject();
var funcName = "hide";
function callObject(myObj,funcName){
obj.hide(); //this works
obj[funcName]; //doesn't work
obj.eval(funcName); //doesn't work either.. tried many variations
}
Teşekkür ederiz!
Teşekkür ederiz! Basit bir şey kaçırdığımı biliyordum. Gerçekten daha önce [funcName]() 'i denediğimi düşündüm ama şimdi benim için çalışıyor. – David
Dikkatle kullanmadan eval kullanın :) http://stackoverflow.com/questions/86513/why-is-using-javascript-eval-function-a-bad-idea –
Bkz. [Yorumum] (http://stackoverflow.com/questions/5112793/how-do-i-dynamically-call-a-javascript-objects-method/5112938#5112938) değerlendirmeden değerlendirme ve diğer seçenekleri kullanmanın güvenliği hakkında. Ayrıca, güvensiz olmanın yanı sıra, özellikle doğru bir giriş doğrulaması yaptığınızda, değerlendirme çok verimsiz olabilir, ancak doğrulama olmadan bile, her çalıştırdığınızda derleyiciyi çağırırsınız. – rsp