var name = new Array('freddy', 'mac', 'fanny', 'may');
var content = 'hi '.+name[i]+.'!';
$('div.class').each(function (i) {
this.html(content);
});
这个 javascript 应该输出 嗨弗雷迪! 嗨,麦克! 嗨范妮! 嗨,梅!
但是 var 有一个错误,因为它引用了一个尚未设置的数组。
最佳答案
您正在为 content
变量分配一个值,并且在您分配该值时(而不是在使用该变量时)计算该值。 IE。普通值不能包含对另一个值的引用。
您可以将其设为一个在调用时计算值的函数:
var name = new Array('freddy', 'mac', 'fanny', 'may');
var content = function(i) { return 'hi ' + name[i] + '!'};
$('div.class').each(function (i) {
$(this).html(content(i));
});
关于javascript - 如果在上下文之外使用变量如何包含数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13996654/