Javascript 更改颜色代码不会';行不通

Javascript 更改颜色代码不会';行不通,javascript,html,Javascript,Html,函数颜色(){ var color=“#” 对于(var i=0;i您正在调用函数,而不是在setInterval调用中引用它 换成 setInterval(color, 1000); 将括号添加到函数时,将调用该函数,并返回返回的结果,除非在被调用函数中定义了其他内容,否则返回的结果总是未定义 你所做的和我一样 var fn = color(); // returns undefined setInterval(fn, 1000); // undefined, 1000 您正在调用函数

函数颜色(){
var color=“#”

对于(var i=0;i您正在调用函数,而不是在
setInterval
调用中引用它

换成

setInterval(color, 1000);

将括号添加到函数时,将调用该函数,并返回返回的结果,除非在被调用函数中定义了其他内容,否则返回的结果总是
未定义

你所做的和我一样

var fn = color(); // returns undefined

setInterval(fn, 1000); // undefined, 1000

您正在调用函数,而不是在
setInterval
调用中引用它

换成

setInterval(color, 1000);

将括号添加到函数时,将调用该函数,并返回返回的结果,除非在被调用函数中定义了其他内容,否则返回的结果总是
未定义

你所做的和我一样

var fn = color(); // returns undefined

setInterval(fn, 1000); // undefined, 1000
这里有一个工作片段。 我改变的是

  • onmousehave
    被替换为
    oneclick()
    (因为上面写的是单击按钮)
  • setInterval
    函数调用中,
    color
    不需要括号
  • 函数颜色(){
    var color=“#”
    对于(var i=0;i,这里有一个工作片段。
    我改变的是

  • onmousehave
    被替换为
    oneclick()
    (因为上面写的是单击按钮)
  • setInterval
    函数调用中,
    color
    不需要括号
  • 函数颜色(){
    var color=“#”
    
    对于(var i=0;i,这里是一个工作示例

    
    点击
    函数颜色(){
    var color=“#”
    对于(变量i=0;i<6;i++){
    颜色+=数学地板((数学随机()*16)).toString(16);
    };
    document.getElementsByTagName('body')[0].style.backgroundColor=color;
    }
    函数更改(){
    设置间隔(color(),1000);
    }
    
    以下是一个工作示例

    
    点击
    函数颜色(){
    var color=“#”
    对于(变量i=0;i<6;i++){
    颜色+=数学地板((数学随机()*16)).toString(16);
    };
    document.getElementsByTagName('body')[0].style.backgroundColor=color;
    }
    函数更改(){
    设置间隔(color(),1000);
    }
    
    以下是您问题的解决方案

    函数颜色变换器(){
    setInterval(函数(){
    变量字母='0123456789ABCDEF'。拆分('');
    var color='#';
    对于(变量i=0;i<6;i++){
    颜色+=字母[Math.floor(Math.random()*16)];
    }
    document.body.style.backgroundColor=颜色;
    },300);
    }
    
    
    变色
    
    以下是您问题的解决方案

    函数颜色变换器(){
    setInterval(函数(){
    变量字母='0123456789ABCDEF'。拆分('');
    var color='#';
    对于(变量i=0;i<6;i++){
    颜色+=字母[Math.floor(Math.random()*16)];
    }
    document.body.style.backgroundColor=颜色;
    },300);
    }
    
    
    变色
    
    我对一些代码进行了更改,您可以在plunker中找到

    <https://plnkr.co/edit/sKpJQqRohICD63AQjgTx?p=preview>
    

    我对一些代码进行了更改,您可以在plunker中找到

    <https://plnkr.co/edit/sKpJQqRohICD63AQjgTx?p=preview>
    
    
    
    < /代码>这不回答你的问题(“AdENO已经处理过了”),而不是生成6个单独的十六进制代码,考虑做<代码>数学.Load(Madio.Read)(0xFFFFFF)。toStand(16)< /Cl>——它将有更多的性能,理论上也有更好的熵在大多数<代码> Mault.Read < /Clult>实现。此外,它的代码更少。这并不能回答你的问题(AdENO已经处理过),但是不要生成6个单独的十六进制代码,考虑做<代码> Madio.Load(Max.Read)(0xFFFFFF)。toStand(16)< /Cl>——这将是一个更高的性能,而且理论上在大多数<代码>数学上有更好的熵。在回答中添加了更多的解释在回答中添加了更多的解释这并没有回答问题,并进行了一系列其他不相关的更改,同时也使代码比需要的复杂得多。我只调用了一个函数。这段代码复杂吗?这段代码比你的代码简单,我认为编辑修复了p问题。我的其他批评意见站得住脚。这并没有回答问题,并且做了一系列其他不相关的更改,同时也使代码比需要的复杂得多。我只调用了一个函数。这段代码复杂吗?我想这段代码比你的代码简单,所以编辑可以解决问题。我的其他批评意见站得住脚。这段代码如何解决问题问题?它仍在调用
    color
    而不是将其传递到
    setInterval
    。这如何解决问题?它仍在调用
    color
    而不是将其传递到
    setInterval