Javascript “的奇怪语法;至于;环
今天我遇到了以下JS:Javascript “的奇怪语法;至于;环,javascript,for-loop,Javascript,For Loop,今天我遇到了以下JS: for (var b = k, d = function (c) { // function body }, a = b.p, e = z; 0 < c;) { } // for loop closing cause for(var b=k,d=function(c){ //功能体 },a=b.p,e=z;0
for (var b = k, d = function (c) {
// function body
}, a = b.p, e = z; 0 < c;) {
} // for loop closing cause
for(var b=k,d=function(c){
//功能体
},a=b.p,e=z;0
能解释一下这里发生了什么吗?我对函数感到困惑,正常的“for”循环可以:
for(x=0; x<something; x++){
}
for(x=0;x循环中的控制变量也可以是示例中的有效表达式。for(var b=k,d=function(c){},a=b.p,e=z;0
){
对于(x=0;x没有五个部分,只有三个部分:
- 第一个包含四个变量声明(
b
、d
、a
和e
)
- 第二个包含一个比较(
0
)
- 第三个是空的
每个部分用分号(;
)分隔,变量声明用逗号(,
)分隔
允许第一部分包含表达式或变量声明列表。有关详细信息,请查看或:
初始化
表达式(包括赋值表达式)或变量声明。通常用于初始化计数器变量。此表达式可以选择使用var
关键字声明新变量。这些变量不是循环的局部变量,即它们与for循环在同一范围内。此表达式的结果将被丢弃
只是因为(x=0;x你发布的第一个循环与最后一个稍有不同。第一个循环声明并分配几个变量(其中一个是函数),然后提供一个条件(0=0
),否则它将永远运行(如果c
确实小于0)。我会解释,但基本上这不是好代码
这不是一个好代码,因为你需要上网才能弄清楚
对于(var b=k,d=function(c){
//功能体
},a=b.p,e=z;0
相当于
var b = k,
d = function (c) {
// function body
},
a = b.p,
e = z;
for (; 0 < c; ){
}
var b=k,
d=功能(c){
//功能体
},
a=b.p,
e=z;
对于(;0
for循环父母有三个部分
1.初始化
2.情况
3.结束语
所有这些都必须用一个字母隔开
除此之外,这些都是for循环中的可选项
for (var init = 0; init < 10; init += 1) {}
for(var init=0;init<10;init+=1){
同:
var init = 0;
for (;;) {
if (!(init < 10)) {
break;
}
init += 10;
}
var init=0;
对于(;;){
如果(!(初始值<10)){
打破
}
init+=10;
}
用于(变量b=k,d=function(c){
//功能体
},a=b.p,e=z;0
只要d不是0,for循环就会运行。当0for
循环有三个部分时,d是0:for(初始化;条件;增量)
。这些部分中的任何一个都可以有零个或多个语句,即:for(;;)
有效,而for(a=1,b=2,c=3;a!=10;)
} // for loop closing cause
var b = k,
d = function (c) {
// function body
},
a = b.p,
e = z;
for (; 0 < c; ){
}
for (var init = 0; init < 10; init += 1) {}
var init = 0;
for (;;) {
if (!(init < 10)) {
break;
}
init += 10;
}
for (var b = k, d = function (c) {
// function body
}, a = b.p, e = z; 0 < c;) {
} // for loop closing cause