Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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而分解(解释)这段代码?_Javascript_Html - Fatal编程技术网

有没有人能因为我不太擅长javascript而分解(解释)这段代码?

有没有人能因为我不太擅长javascript而分解(解释)这段代码?,javascript,html,Javascript,Html,这是一个javascript,我将蓝色改为红色,反之亦然,但有人能逐行解释我的代码吗,因为我不太习惯html和javascript?提前感谢编写此代码的人使用了大量的速记符号。在您精通javascript之前,我不建议您使用任何速记符号。我在下面添加了解释代码的注释。我认为你唯一可能有问题的是foreach,所以请转到下面的链接以了解更多信息 //这定义了一个函数 函数functionl(){ //这将获取一个L1类的所有html标记,并在循环中遍历它们 数组.from(document.g

这是一个javascript,我将蓝色改为红色,反之亦然,但有人能逐行解释我的代码吗,因为我不太习惯html和javascript?提前感谢

编写此代码的人使用了大量的速记符号。在您精通javascript之前,我不建议您使用任何速记符号。我在下面添加了解释代码的注释。我认为你唯一可能有问题的是foreach,所以请转到下面的链接以了解更多信息

//这定义了一个函数
函数functionl(){
//这将获取一个L1类的所有html标记,并在循环中遍历它们
数组.from(document.getElementsByClassName('L1')).forEach(函数(e){
//对于类为L1的每个元素,这将调用参数为e的函数helper。现在看第13行。
助理(e);;
});
Array.from(document.getElementsByClassName('L2')).forEach(函数(e){
助理(e);;
});
}
//这定义了helper()函数
功能助手(e){
//下面的代码检查元素中的文本是否为“Hi”
如果(e.innerText=='Hi'){
//如果是,它将进入该语句,并将背景颜色更改为蓝色,将文本更改为hello
e、 style.backgroundColor='蓝色';
e、 innerText='Hello';
}否则{
//如果文本不是“Hi”,则代码进入此语句。如果是,则将背景颜色更改为红色,并将文本更改为“Hi”
e、 style.backgroundColor='红色';
e、 innerText='Hi';
}
}
//此代码每0.5秒(500毫秒)执行一次
设置间隔(函数L,500)

Hi
函数查找具有给定类的每个元素,并为每个此类元素调用一次
helper
函数,将找到的元素作为参数传递。(它分别对
L1
类和
L2
类执行此操作。)

helper函数使用该参数来标识正确的元素,并检查元素中的文本是否为“Hi”。如果是这样,它会将元素的文本切换为“Hello”,并将其颜色切换为蓝色;如果不是,它会将元素的文本切换为“Hi”,并将其颜色切换为红色


这两个函数运行的唯一原因是,最后一条语句要求永远每500毫秒运行一次
functionl

谢谢您的帮助。Helper是一个函数。函数的一般语法是使用
function-helper(parameter){code}
定义它,使用它的语法是
helper(parameter)
查看此链接了解有关函数的更多信息:感谢您的解释。感谢您的帮助,但我不明白的是foreach是什么以及它如何连接到helper
foreach
是每个
Array
都知道的函数。(见附件)
Array.from(document.getElementsByClassName('L1'))
创建一个html元素数组(具体地说,整个文档中所有以“L1”作为其类的元素)。现在我们有了一个数组,我们可以使用
.forEach
循环所有这些元素,并“为每个”元素,做点什么……forEach的工作规则是,我们为每个项所做的“事情”必须是调用另一个函数,该函数可以从我们当前查看的数组中自动了解该项。(我们将逐个查看数组中的每个项。)在
.forEach(e=>helper(e))
中,
e
可能代表元素(但我们可以使用
.forEach(foo=>helper(foo))
并且它的工作原理相同,名称并不重要。)它只是表示“无论我们正在查看什么项目,请将其发送到
helper
函数。”现在当
helper
运行时,它也将了解当前项目谢谢您的解释
function functionl() {
  Array.from(document.getElementsByClassName('L1')).forEach(e => helper(e));
  Array.from(document.getElementsByClassName('L2')).forEach(e => helper(e));
}

helper = (e) => {
  if (e.innerText == 'Hi') {
    e.style.backgroundColor = 'blue';
    e.innerText = 'Hello';
  } else {
    e.style.backgroundColor = 'red';
    e.innerText = 'Hi';
  }
}
window.setInterval(functionl, 500);