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;
}
}