我知道什么是for... in
循环(对键进行迭代),但是第一次听说for... of
(对值进行迭代)。
我对for... of
循环感到困惑。我没有形容词。这是下面的代码:
var arr = [3, 5, 7];
arr.foo = "hello";
for (var i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for (var i of arr) {
console.log(i); // logs "3", "5", "7"
// it is does not log "3", "5", "7", "hello"
}
我得到的是,for... of
遍历属性值。那么,为什么它不记录(返回)"3", "5", "7", "hello"
而不是"3", "5", "7"
?但是for... in
循环遍历每个键("0", "1", "2", "foo"
)。在这里,for... in
循环还会遍历foo
键。但是for... of
不会迭代foo
财产的价值,即"hello"
。为什么会这样呢?
总而言之:
在这里,我控制台for... of
循环。它应该记录,"3", "5", "7","hello"
但是在这里记录"3", "5", "7"
。为什么呢
for in
遍历对象的可枚举属性名称。
for of
(ES6中的新增功能)确实使用了特定于对象的迭代器,并循环了由该对象生成的值。
我知道什么是“代号”...在循环中(它迭代键),但我听说过(它迭代值)。 我对循环。 我知道迭代属性值。那么为什么它不记录而不记录? 与用于...的循环中,该循环迭代每个键()并迭代键,不迭代属性的值,即。为什么会这样? 在这里,我控制台的循环。它应该记录,但它记录。为什么? 示例链接
与...的循环中,该循环迭代每个键()并迭代键,用于...的值不迭代属性的值,即。为什么是那样? 在这里,我为...控制台循环的。它应该记录但它记录。为什么? 示例链接
着色器语言GLSL中关于if语句、for语句的使用,和javascript语言、C语言中的if语句、for语句执行逻辑规则基本一致,这里默认你已经有一定的编程基础,也就不做过多讲解,只是简单说明一下。 单独使用if if(x>100){ gl_FragColor = vec4(1.0,0.0,0.0,1.0);//红色 } if-else形式 bool colorBool; // 根据布尔值
for 语句是循环语句中的一种。 for 语句可以使程序在某一个条件下重复执行一段代码。 1. 基本语法 for 语句相对于 if 语句稍微复杂,通常为以下格式: for (初始语句; 条件; 条件为真值时执行的语句) { // 循环体 } 初始语句会在循环开始前进行执行。 条件会在每次循环结束后执行,结果影响循环语句是否要继续执行。 条件为真时执行的语句通常会用来影响下一次计算条件的结果。
for 语句和 while 语句相似,但更为复杂。 语法如下: for(第一节;第二节;第三节) 语句或语句块 在这里,第一节为进入循环之前想要执行的语句。在这里可以定义变量,在这里定义的变量仅在循环中有效 ( 循环结束后将被删除 )。也可以省略本节。(译者:一般此处为循环变量的初始化) 第二节是条件表达式。当此条件表达式的值为 true 时,语句或语句块将被循环(继续)执行。如果省略本节
for语句 记得刚参加工作的时候,使用的语言主要是VB和Delphi,那个时候我大量使用 do while这种循环。后来主要使用PHP和Python,越来越多的使用for语句,甚至几乎不用while语句。现在,感觉其实while语句不是必须的,Go语言就没有while这种循环结构。要想在Go语言中执行循环语句只有for这一个结构。 一个for里面是一个代码块。 for循环体的几种写法: for{