2016-08-11 55 views
-1

可變i執行以下參考在javascript本地範圍

var instances = $.fn.dataTable.tables({api: true}); 
var tables = $($(this).attr('href')).find('table').filter(function (index) { 
    if ($(this).attr('id')) return this.id; 
}); 
_.map(tables, function (table, index) { 
    if (_.find(instances.context, {'sTableId': table.id})) { 
     if (window[table.id].dependsOn) { 

問題是當table.id是變量的名稱,並且在局部範圍內,而不是在gobal(窗口)範圍。

當然,if (table.id.dependsOn) { doens't工作。

+0

您的問題是? –

+0

我想引用一個名稱爲table.id的局部變量 –

+0

想象一下,我可以做本地[table.id]而不是window [table.id] –

回答

0

看起來你需要這樣做

_.map(tables, function (table, index) { 
    if (_.find(instances.context, {'sTableId': table})) { 

順便說一句,它看起來像你可能不完全理解JavaScript只是還沒有,如果沒有,那麼無視,不過我建議你得到的JavaScript的工作原理之前,強抓學習jQuery。我可以看到你的代碼是用你的例子使用jQuery庫編寫的。

請參閱jQuery.map()

+0

lodash,我用lodash –