javascript 我收到消息未定义的错误

xzv2uavs  于 2022-11-20  发布在  Java
关注(0)|答案(1)|浏览(195)
function consoleStyler(color, background, fontSize, txt) 
{ 
    var message = "%c" + txt;
    var style = `color: ${color}`; 
    style += `background:${background}`;
    style += `fontSize:${fontSize}`;
    console.log(style) 
} 

function celebrateStyler(reason)
 {
    var fontStyle = "color: tomato; font-size: 50px"; 
    if (reason == "birthday")  {  
        console.log('%cHappy Birthday', fontStyle) 
    }
    else if (reason == 'champions') {
        console.log('%cCongrats on the title!', fontstyle)
    }
    else { 
        console.log(message, style)
    }
 }

 consoleStyler('#1d5c63', '#ede6db', '40px', 'congrats!');
 celebrateStyler('birthday') 

function styleAndCelebrate() 
{
     consoleStyler(color, background, fontSize, txt);
     celebrateStyler(reason);
} 
styleAndCelebrate('#ef7c8e', '#fae8e0', '30px', 'You made it!', 'champions')

我收到一个消息未定义的错误。现在我知道var是函数作用域,所以它不能在函数之外使用。但是Coursera上的Assignment坚持

guykilcj

guykilcj1#

是的,您不能使用超出其定义范围的变量。
然而,当我试图运行代码时,我得到的第一个错误是colorstyleAndCelebrate函数中未定义。
您没有定义styleAndCelebrate的参数,因此两个参数都没有传入最后一行中的函数:

styleAndCelebrate('#ef7c8e', '#fae8e0', '30px', 'You made it!', 'champions')

若要修正此问题,请定义styleAndCelebrate的必要参数:
function styleAndCelebrate(color, background, fontSize, txt, reason)
celebrateStyler也会有同样的问题

相关问题