我知道 Javascript 中的括号表达式返回计算括号中表达式的结果:
x = ( 1, 2, 3 );
将评估上面的三个表达式,并返回最后一个表达式的结果:'3',如其他一些帖子中所述。
以下来自SlickGrid的示例代码包含一些我不太确定我理解的内容:
$(function () {
for (var i = 0; i < 500; i++) {
var d = (data[i] = {});
d["title"] = "Record " + i;
d["n1"] = Math.round(Math.random() * 10);
d["n2"] = Math.round(Math.random() * 10);
d["n3"] = Math.round(Math.random() * 10);
d["n4"] = Math.round(Math.random() * 10);
d["n5"] = Math.round(Math.random() * 10);
}
grid = new Slick.Grid("#myGrid", data, columns, options);
})
特别是表达式:
var d = (data[i] = {});
似乎返回对在括号表达式中初始化的关联数组的引用。
真的是这样吗?对此有更详细的解释吗?是否有理由这样做而不是更明显的事情,例如创建关联数组'd',然后将其设置为'data [i]'?