Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript for循环语法_Javascript_Html_Css - Fatal编程技术网

Javascript for循环语法

Javascript for循环语法,javascript,html,css,Javascript,Html,Css,请有人给我解释一下这部分代码 功能父级(元素、选择器){ 对于(;elem&&elem!==document;elem=elem.parentNode){ 如果(元素匹配(选择器))返回元素; } }循环配置的第一部分用于设置索引,第二部分用于循环条件。如果条件不是基于索引,则可以省略索引。在这种情况下,循环关心传递的参数elem,而不是索引 实际上,for的的所有3个配置部分都是可选的(使for的更像而)。从: 语法 ([初始化];[条件];[最终表达式])的 语句 (如您所知,在出于语法目

请有人给我解释一下这部分代码

功能父级(元素、选择器){
对于(;elem&&elem!==document;elem=elem.parentNode){
如果(元素匹配(选择器))返回元素;
}

}
循环配置的第一部分用于设置索引,第二部分用于循环条件。如果条件不是基于索引,则可以省略索引。在这种情况下,循环关心传递的参数
elem
,而不是索引

实际上,for的
的所有3个配置部分都是可选的(使for
更像
)。从

语法

([初始化];[条件];[最终表达式])的

语句

(如您所知,在出于语法目的而显示的参数列表中使用
[]
表示可选。)

下面是一个例子:

var obj={};//非空
//只要obj不为null(不启动),就保持循环
for(;obj!=null;obj=null){
console.log(“Loop!”);//第一次通过循环时,obj!=null,因此循环将继续
}//第一次迭代后,obj将变为null(因为循环配置的第三部分)

//因此循环将终止
,而循环配置的第一部分用于设置索引,第二部分用于循环条件。如果条件不是基于索引,则可以省略索引。在这种情况下,循环关心传递的参数
elem
,而不是索引

实际上,for
的所有3个配置部分都是可选的(使for
更像
)。从

语法

([初始化];[条件];[最终表达式])的

语句

(如您所知,在出于语法目的而显示的参数列表中使用
[]
表示可选。)

下面是一个例子:

var obj={};//非空
//只要obj不为null(不启动),就保持循环
for(;obj!=null;obj=null){
console.log(“Loop!”);//第一次通过循环时,obj!=null,因此循环将继续
}//第一次迭代后,obj将变为null(因为循环配置的第三部分)
//所以循环将终止
,您可以参考。for循环的结构由三条语句组成,它们都是可选的。第一条语句在循环开始之前执行,因此通常用于变量声明。第二条语句用于定义条件。对每个循环调用第三条语句,因此它通常用于递增或递减值,或分配新值。 当所有这些语句都不存在时,这意味着它是一个无限循环

for (;;)
当第一条语句不存在时(在您的示例中就是这种情况),则需要在for循环开始之前声明变量或执行代码块。然而,为了保持循环继续(语句2)和在每个循环上调用的块(语句3),仍然必须满足一些条件

语句1:None//如果有,它会在开始时被调用

语句2:元素和元素!==文档//决定是否继续循环

语句3:elem=elem.parentNode//调用了您可能引用的每个循环。for循环的结构由三条语句组成,它们都是可选的。第一条语句在循环开始之前执行,因此通常用于变量声明。第二条语句用于定义条件。对每个循环调用第三条语句,因此它通常用于递增或递减值,或分配新值。 当所有这些语句都不存在时,这意味着它是一个无限循环

for (;;)
当第一条语句不存在时(在您的示例中就是这种情况),则需要在for循环开始之前声明变量或执行代码块。然而,为了保持循环继续(语句2)和在每个循环上调用的块(语句3),仍然必须满足一些条件

语句1:None//如果有,它会在开始时被调用

语句2:元素和元素!==文档//决定是否继续循环


语句3:elem=elem.parentNode//调用每个循环

没有任何东西指定
循环必须使用迭代器。发明了
for
循环语法是因为在一系列数字上进行迭代是很常见的,而使用
循环进行迭代时,循环看起来总是这样:

var counter = 0;
while (counter < 10) {
    // do something...
    counter++;
}
function parent(elem, selector) {
    while (elem && elem !== document) {
        if (elem.matches(selector)) {
            return elem;
        }
        elem = elem.parentNode;
    }
}

没有任何东西指定
for
循环必须使用迭代器。发明了
for
循环语法是因为在一系列数字上进行迭代是很常见的,而使用
循环进行迭代时,循环看起来总是这样:

var counter = 0;
while (counter < 10) {
    // do something...
    counter++;
}
function parent(elem, selector) {
    while (elem && elem !== document) {
        if (elem.matches(selector)) {
            return elem;
        }
        elem = elem.parentNode;
    }
}