[英]Dynamic access to the object name
我正在嘗試選擇動態對象的某些屬性
var minus = {
doAction: function(){
console.log("this is minus");
}
}
var plus = {
doAction: function(){
console.log("this is plus");
}
}
var panelEvents = {
button: function(){
$(document).on("click", ".plus, .minus", function(){
var buttonClass = $(this).attr('class');
window[buttonClass][doAction](); //get an error
});
}
}
panelEvents.button();
問題
1.如何使用相同的方法動態調用各種對象?
2.從OOP角度來看,以這種方式訪問方法是否是錯誤的做法?
更新
我了解到,這不是靈活的方法。 因此,現在我只有理論上的興趣來訪問動態對象。 都沒有
window[buttonClass]['doAction']();
也不
window[buttonClass].doAction();
工作。 螢火蟲:
TypeError:window [buttonClass]未定義
window [buttonClass]'doAction';
我是否應該在窗口上附加減號和加號對象?
解決方案問題是我的代碼在jQuery對象內部
$(document).ready(function(){
//my code
)};
在失敗的行中,您嘗試調用的函數名稱與變量doAction的名稱相同。 這里的問題是doAction沒有定義。
您將必須編寫:
window[buttonClass]['doAction']();
要么
window[buttonClass].doAction();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.