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我已尝试稍微澄清我的解释