【问题标题】:JavaScript function does not work. Help a newbie :\ [closed]JavaScript 函数不起作用。帮助新手:\ [关闭]
【发布时间】:2020-01-05 13:02:01
【问题描述】:

我正在开发一个线性渐变生成器。 我想添加一个随机渐变功能,因此它选择背景样式并设置具有两种随机颜色的渐变。一切正常,直到我添加了这个随机函数。它看起来像这样:

function getRandomInRange(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function setRandomGradient() {
    body.style.background = "linear-gradient(to right, rgb("
    + (getRandomInRange(1, 255)
    + " ,"
    + (getRandomInRange(1, 255)
    + " ,"
    + (getRandomInRange(1, 255)
    + "), rgb("
    + (getRandomInRange(1, 255)
    + " ,"
    + (getRandomInRange(1, 255)
    + " ,"
    + (getRandomInRange(1, 255)
    + "))";
}

getRandomInRange 运行良好,但 setRandomGradient 不起作用,控制台显示如下错误:

Uncaught SyntaxError: Unexpected token ';'

指向函数括号关闭前的最后一个分号。但是,如果我删除分号,则错误开始指向其他内容,例如关闭括号或其他内容

【问题讨论】:

  • 你打开了很多没有闭合的括号...
  • 更具体一点:(getRandomInRange(1, 255) 有两个左括号,只有一个右括号。
  • @ivar 哇,谢谢。有效。我不知道我怎么没注意到!
  • @bashka 不客气。另一个注意事项:Stack Overflow 的目标是为有同样问题的未来访问者提供有用的资源。像您在此问题上使用的标题无助于任何人确定它是否与同一问题有关。我建议您在问另一个问题之前通读 How to Ask

标签: javascript function


【解决方案1】:

您应该使用JavaScript IDE 之类的WebStorm 来帮助您解决语法错误

试试这个:

function getRandomInRange(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function setRandomGradient() {
    body.style.background = "linear-gradient(to right, rgb("
        + (getRandomInRange(1, 255))
        + " ,"
        + (getRandomInRange(1, 255))
        + " ,"
        + (getRandomInRange(1, 255))
        + "), rgb("
        + (getRandomInRange(1, 255))
        + " ,"
        + (getRandomInRange(1, 255))
        + " ,"
        + (getRandomInRange(1, 255))
        + "))";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 2020-06-12
    • 2016-01-31
    • 1970-01-01
    • 2018-03-16
    • 2013-02-01
    相关资源
    最近更新 更多