Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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和while循环的差异?_Javascript_Loops_Typeerror - Fatal编程技术网

Javascript 未捕获类型错误:无法设置属性';价值';未定义//for和while循环的差异?

Javascript 未捕获类型错误:无法设置属性';价值';未定义//for和while循环的差异?,javascript,loops,typeerror,Javascript,Loops,Typeerror,我是JS的新手,刚开始编程 我正在用一个按钮制作一个简单的网页,允许文本、链接和背景改变颜色 工作正常,但在consonle屏幕上,我收到一条错误消息 我看了同样的问题,但还是不明白 > adsf 因为在中为..使用时,一次只能从数组中获取一项,而不是索引 for(让链接进入链接){ link.style.color='red'; } 当使用while时,您有一个索引来迭代数组(让它成为i) i表示迭代的当前索引,因此访问数组中的项就像links[i]不,在for…in循环中,您一次获

我是JS的新手,刚开始编程

我正在用一个按钮制作一个简单的网页,允许文本、链接和背景改变颜色

工作正常,但在consonle屏幕上,我收到一条错误消息

我看了同样的问题,但还是不明白


  • >
  • adsf
    因为在中为..使用
    时,一次只能从数组中获取一项,而不是索引

    for(让链接进入链接){
    link.style.color='red';
    }
    
    当使用
    while
    时,您有一个索引来迭代数组(让它成为
    i

    i
    表示迭代的当前索引,因此访问数组中的项就像
    links[i]

    不,在
    for…in
    循环中,您一次获得对象的可枚举属性。这也会导致错误。很抱歉,访问对象属性需要
    object.keys
    才能正常工作(例如
    let obj={hello:'world};for(let key of object.keys(obj))console.log(key)
    )我真的不明白这与这个问题或你的答案有什么关系。假设
    querySelectorAll()
    确实找到了元素,循环的第一次迭代
    链接将是字符串
    “0”
    。字符串没有
    style
    属性,因此
    style
    将未定义,从
    undefined
    读取
    color
    将抛出错误。这个答案完全错了。这能回答你的问题吗?将(链接中的链接)的
    更改为(让链接=0;链接