For循环不会执行两次
for loop does not execute twice
createModelView: function (obj,vitalslength,headerValue) {
for(i = 0, vitalsLen = vitalslength; i < vitalsLen; i++) {
// Do some logic
}
}
两个问题我应该把函数的返回语句放在哪里?如果我把它放在for循环中,它会工作吗?
当我调用这个函数
Obj.createModelView(arguments);
时,为什么它不执行两次或n次,取决于vitallength。It only executes once.
如果你在循环中放置一个无条件的return
语句,就像你在2中描述的那样。将发生:循环将只执行一次。因此,应该将return
语句放在循环之后。
试试这个:
createModelView: function (obj,vitalslength,headerValue) {
for(var i = 0; i < vitalslength; i++) {
// Do some logic
}
return;
}
如果您将return
放在for
循环中,那么它将只执行一次。由于return
要求函数停止进一步执行并返回您要求的值。
您可能将return
放在for
循环中,这就是为什么它只执行一次。
一些可能的问题:
首先确保在for循环
之前声明这两个变量var i=0, vitalsLen=0;
还要检查确保vitallength是一个数字。您可以使用isNaN
或typeof
检查。
if (isNaN(vitalslength))
alert("vitalsLength is not a number");
可能是这些因素中的一个,也可能不是,请告诉我。
也……我不记得javascript和其他语言中是否一样了,但是++i
比i++
更有效。
关于这两个问题:
- 如果你真的需要,它可以放在for循环之后。
(1)不,如果将return语句放入循环中,它将不起作用。如果将其放入循环中,则该函数将在第一个循环中返回。返回语句退出调用obj.createModelView()函数。
createModelView: function (obj, vitalslength, headerValue) {
var i, vitalsLen = vitalsLength;
for(i = 0; i < vitalsLen; i += 1) {
// Do some logic
}
return;
}
(2)当你调用函数一次时,函数不会执行两次(或n次)。调用对象。createModelView函数n次,你必须把函数调用在循环中。
var i, n = 4;
for(i=0; i < n; i += 1) {
obj.createModelView();
}
相关文章:
- 防止双击执行两次jQuery post请求
- 单击元素两次后执行操作
- 为什么这个函数执行了两次
- 使用node.js模块,在什么情况下模块会被执行两次
- 必须点击两次按钮才能执行功能
- 是否可以执行两次匿名函数
- onKeyUp 导致代码执行两次
- 选中复选框后函数执行两次
- ng 类指令调用执行两次
- 提交按钮有时会以 html 形式执行两次操作
- 必须单击按钮两次才能执行功能 - jQuery
- AngularJs 基本应用程序执行两次
- jQuery AJAX POST 执行两次
- 防止脚本在执行时运行两次
- jquery ready 函数在我单击锚标记时执行两次
- document.getElementById 导致 jquery 文档准备执行两次
- CasperJS thenOpen() 执行两次
- 脚本执行两次,但时间戳相同
- 在 IE 上,表达式执行两次
- 在angularjs中两次执行控制器的routeparams中的特殊字符