这就是我在循环中引用全局变量的方法。
_.forEach(myTableName.detailsObjects, function (o, key) {
if (window[o] && window[o].serverSideProcessing == true) {
window[o].prepareData(data, false);
window[o].setDML(data, false);
但如果它们是局部变量会怎样。
o.prepareData和o.setDml不起作用。 感谢
答案 0 :(得分:1)
不确定您遇到的确切问题,但它也适用于局部变量。
以下是两个版本的代码,第一个是使用Array.forEach
的纯js,第二个是使用下划线&{39} _.forEach
。
myTableName = {
"detailsObjects": [
{"id":1, "prepareData":true},
{"id":2, "prepareData":false}
]
}
myTableName.detailsObjects.forEach(function(o, key) {
alert('Result: ' + o.id + ': ' + o.prepareData + ' key: ' + key);
})
_.forEach(myTableName.detailsObjects, function(o, key) {
alert('Underscore Result: ' + o.id + ': ' + o.prepareData + ' key: ' + key);
})

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
&#13;