Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays_Debugging_Syntax Error - Fatal编程技术网

Javascript 你能告诉我什么是问题或者为什么是错误吗?

Javascript 你能告诉我什么是问题或者为什么是错误吗?,javascript,arrays,debugging,syntax-error,Javascript,Arrays,Debugging,Syntax Error,各位开发者好, 我不明白为什么是错误。能告诉我为什么是错误,哪里是我的错。提前谢谢 (函数(){ 常量btn=document.getElementById('btn') 常量h1=document.getElementById('h1') btn.addEventListener('单击',()=>{ var hexvalues=[1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f']; var hexcolor='#' for(设i=0;i{ var hexvalues=[1,2

各位开发者好,

我不明白为什么是错误。能告诉我为什么是错误,哪里是我的错。提前谢谢

(函数(){
常量btn=document.getElementById('btn')
常量h1=document.getElementById('h1')
btn.addEventListener('单击',()=>{
var hexvalues=[1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f'];
var hexcolor='#'
for(设i=0;i<6;i++){
var random=Math.floor(Math.random()*hexvalues.length);
var hexcolor+=hexvalues[随机]
}
h1.style.color=hexcolor
})
})()

如果我使用它,那么它就起作用了。
var hexcolor=hexcolor+hexvalues[random]

似乎您的主要问题来自于您在
for
循环中重新定义
hexcolor
。使用
const
let
var
创建变量时,不能使用
+=
运算符。
+=
运算符表示添加到(append)的末尾。因此,如果您是第一次创建变量,您将没有任何附加内容,因此您需要使用
=
来分配变量

要解决问题,您需要从
var hexcolor
中删除
var
,因此您正在修改在for循环外声明的
hexcolor

请参见下面的工作示例:

(函数(){
常量btn=document.getElementById('btn')
常量h1=document.getElementById('h1')
btn.addEventListener('单击',()=>{
var hexvalues=[1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f'];
var hexcolor='#'
for(设i=0;i<6;i++){
var random=Math.floor(Math.random()*hexvalues.length);
hexcolor+=hexvalues[随机]
}
h1.style.color=hexcolor
})
})()
点击我

当您使用
var hexcolor+=hexvalues[random]
时,您使用的是带有初始化变量的
+=
。您不应该再次使用
var
作为其外部声明

(函数(){
常量btn=document.getElementById('btn')
常量h1=document.getElementById('h1')
btn.addEventListener('单击',()=>{
var hexvalues=[1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f'];
var hexcolor='#'
for(设i=0;i<6;i++){
var random=Math.floor(Math.random()*hexvalues.length);
hexcolor+=hexvalues[随机]
}
console.log(hexcolor);
h1.style.color=hexcolor
})
})()
点击
标题
(函数(){
常量btn=document.getElementById('btn')
常量h1=document.getElementById('h1')
btn.addEventListener('单击',()=>{
var hexvalues=[1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f'];
var hexcolor='#'
for(设i=0;i<6;i++){
var random=Math.floor(Math.random()*hexvalues.length);
hexcolor+=hexvalues[随机]
}
h1.style.color=hexcolor
})
})()
点击我

标题文本
您想要
hexcolor+=hexvalues[random]
而不是
var hexcolor+=hexvalues[random]
您已经声明了
hexcolor
作为开始。将其保留为现有方式也是无效的,因为您将其附加到未定义的。您好@sayeed-请将您看到的错误包含在您的问题中。请将错误日志张贴在错误日志中。您可以在循环中重新声明一个变量并附加它。问题在于重新声明变量和使用运算符时变量的类型。@Adriani6我已尝试稍微澄清我的解释