【发布时间】:2014-03-30 23:11:37
【问题描述】:
我在 javascript 中使用如下代码。错了吗?
for(i=0;i<5;i++){
function somefunction(){
/*function code here*/
}
somefunction();//call that function inside the loop
}//end of for loop
我想我用这个写了一个代码,我把一切都搞砸了。
【问题讨论】:
-
第一个问题:为什么需要在循环内部定义它?另外,您是否尝试在循环之外访问它?
-
我不确定,但使用匿名函数 (
var someFunction=function(){/*function code here*/}) 应该可以工作 -
你可以,但是为什么你想这样做?
i的值出乎您的意料,您的搞砸了吗? -
根据规范,函数声明不能放在循环或条件语句中。浏览器可能仍然可以容忍它,但它可能会导致意外行为。那是因为函数声明是提升的。改用函数表达式应该没问题。
-
严格模式下是不允许的。
标签: javascript function loops for-loop call