我写了下面的代码输出平方迭代数字的总和内:的Javascript:“变量没有定义”自我调用函数
(function() {
var i = 4, sum = 0;
while(i--) sum+=i*i;
})();
console.log(sum);
的问题是,我得到控制台以下错误:金额是不确定的除非我拿出这个数字并将其声明为全球范围: //这个工作,但这不是我想要的。
sum = 0;
(function () {
var i=4
while(i--) sum+=i*i;
})();
console.log(sum);
有人能帮我理解吗? 谢谢
这是一个范围问题。您不能在声明范围之外使用'sum'变量。如果您要在全局范围内记录sum,那么您必须在全局范围内声明它。我发现使用上面存在的代码没有任何问题。 –