Javascript for循环不会执行两次 createModelView:函数(obj、vitalslength、headerValue){ 对于(i=0,vitalsLen=vitalslength;i
两个问题Javascript for循环不会执行两次 createModelView:函数(obj、vitalslength、headerValue){ 对于(i=0,vitalsLen=vitalslength;i,javascript,Javascript,两个问题 我应该将函数的return语句放在哪里。如果我把它放在for循环中,它会工作的 当我调用这个函数时,Obj.createModelView(参数)为什么不执行两次或n次,取决于生命长度它只执行一次。 To 1:如果在循环中放置一个无条件的return语句,则与您在2中描述的完全相同。将发生:循环只执行一次。因此,您应该将return语句放在循环之后 试试这个: createModelView: function (obj,vitalslength,headerValue) {
Obj.createModelView(参数)代码>为什么不执行两次或n次,取决于生命长度<代码>它只执行一次。
To 1:如果在循环中放置一个无条件的
return
语句,则与您在2中描述的完全相同。将发生:循环只执行一次。因此,您应该将return
语句放在循环之后 试试这个:
createModelView: function (obj,vitalslength,headerValue) {
for(i = 0, vitalsLen = vitalslength; i < vitalsLen; i++) {
// Do some logic
}
}
createModelView:函数(obj、vitalslength、headerValue){
对于(var i=0;i
如果将return
放入for
循环中,则它将只执行一次。因为return
要求函数停止进一步执行,并返回您要求它返回的值
您可能已将return
放入for
循环中,这就是它只执行一次的原因。一些可能的问题:
首先确保在for循环之前声明这两个变量
createModelView: function (obj,vitalslength,headerValue) {
for(var i = 0; i < vitalslength; i++) {
// Do some logic
}
return;
}
还要检查以确保vitalslength是一个数字。您可以使用isNaN
或typeof
检查来完成此操作
var i=0, vitalsLen=0;
其中一个可能会导致问题,也可能不会,请告诉我
还有。。。我不记得它在javascript中是否与在其他语言中相同,
但是++i
比i++
更有效
关于两个问题:
if (isNaN(vitalslength))
alert("vitalsLength is not a number");
createModelView:函数(obj、vitalslength、headerValue){
变量i,vitalsLen=vitalsLength;
对于(i=0;i
(2) 当您调用函数一次时,函数不会执行两次(或n次)。要n次调用obj.createModelView函数,必须将函数调用放入循环中
createModelView: function (obj, vitalslength, headerValue) {
var i, vitalsLen = vitalsLength;
for(i = 0; i < vitalsLen; i += 1) {
// Do some logic
}
return;
}
var i,n=4;
对于(i=0;i
您希望将return
语句放在哪里?什么是参数
?为什么要为vitalslength
创建别名?在i
之前应该有一个var
,否则会污染命名空间。为什么有一个长度变量的值与另一个变量的值完全相同?有没有理由在最后有一个空的返回值?我想在他的应用程序中它不会是空的。他可能会返回//do some logic
块中定义的内容-只是一个结构示例。
var i, n = 4;
for(i=0; i < n; i += 1) {
obj.createModelView();
}