簡體   English   中英

動態訪問對象名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM