aaron.yang 发表于 2020-8-27 21:52:57

javascript format报错

为什么我在javascript中使用.format方法总是报错说"format is not a function",
我记得javascript中字符串有format方法的呀{:10_277:}

不二如是 发表于 2020-8-28 08:00:16

JS 中 format() 常用来处理 Date 对象,但对字符串进行格式化也不少

对象.format(xxx)

aaron.yang 发表于 2020-8-28 08:08:57

不二如是 发表于 2020-8-28 08:00
JS 中 format() 常用来处理 Date 对象,但对字符串进行格式化也不少

对象.format(xxx)

那也应该有这个函数鸭,可报错内容是“.format is not a function”

lhgzbxhz 发表于 2020-8-28 08:53:53

aaron.yang 发表于 2020-8-28 08:08
那也应该有这个函数鸭,可报错内容是“.format is not a function”

发一下完整代码

aaron.yang 发表于 2020-8-28 09:11:57

本帖最后由 aaron.yang 于 2020-8-28 09:13 编辑

<!DOCTYPE html>

<html>
    <head>
      <style>
            h1
            {
                text-align: center;
                color: blue;
            }
            p
            {
                font-size: large;
            }
            input
            {
                height: 35px;
                width: 250px;
                font-size: 35px;
            }
            button
            {
                height: 30px;
                width: 80px;
            }
      </style>
      <meta charset="UTF-8">
      <title>工具大师(web版)</title>
    </head>
    <body>
      <h1>工具大师</h1>
      <script type="text/javascript">
            function main()
            {
                var cmd = document.getElementById("greeting").value;
                var answer = document.getElementById("answer");
                var commands = ["/help", "/commands", "/date"];
                //console.log(cmd)
                if(cmd=="/help")
                {
                  answer.innerHTML = "此功能暂未开启~";
                }
                else if(cmd=="/commands")
                {
                  for(var i=0;i<commands.length;i++)
                  {
                        answer.innerHTML = "<ul><li>{0}</li></ul>".format(commands);
                  }
                  // answer.innerHTML = "<ul><li>/help</li><li>/commands</li><li>/date</li></ul>"
                }
                else if(cmd=="/date")
                {
                  answer.innerHTML = Date();
                }
                else
                {
                  if(cmd=='/')
                  {
                        answer.innerHTML = "没有此功能~";
                  }
                  else
                  {
                        answer.innerHTML = "指令要以\"/\"开头~";
                  }
                }
            }
      </script>
      <p>请输入指令: </p><input id="greeting" type="text">
      <br><br>
      <button type="submit" onclick="main()">提交</button>
      <br><br>
      <main id="answer">
            <em></em>
      </main>
    </body>
</html>
我在输入框中输入"/commands"时,就出错了

aaron.yang 发表于 2020-8-28 09:13:30

lhgzbxhz 发表于 2020-8-28 08:53
发一下完整代码

<!DOCTYPE html>

<html>
    <head>
      <style>
            h1
            {
                text-align: center;
                color: blue;
            }
            p
            {
                font-size: large;
            }
            input
            {
                height: 35px;
                width: 250px;
                font-size: 35px;
            }
            button
            {
                height: 30px;
                width: 80px;
            }
      </style>
      <meta charset="UTF-8">
      <title>工具大师(web版)</title>
    </head>
    <body>
      <h1>工具大师</h1>
      <script type="text/javascript">
            function main()
            {
                var cmd = document.getElementById("greeting").value;
                var answer = document.getElementById("answer");
                var commands = ["/help", "/commands", "/date"];
                //console.log(cmd)
                if(cmd=="/help")
                {
                  answer.innerHTML = "此功能暂未开启~";
                }
                else if(cmd=="/commands")
                {
                  for(var i=0;i<commands.length;i++)
                  {
                        answer.innerHTML = "<ul><li>{0}</li></ul>".format(commands);
                  }
                  // answer.innerHTML = "<ul><li>/help</li><li>/commands</li><li>/date</li></ul>"
                }
                else if(cmd=="/date")
                {
                  answer.innerHTML = Date();
                }
                else
                {
                  if(cmd=='/')
                  {
                        answer.innerHTML = "没有此功能~";
                  }
                  else
                  {
                        answer.innerHTML = "指令要以\"/\"开头~";
                  }
                }
            }
      </script>
      <p>请输入指令: </p><input id="greeting" type="text">
      <br><br>
      <button type="submit" onclick="main()">提交</button>
      <br><br>
      <main id="answer">
            <em></em>
      </main>
    </body>
</html>
我在输入框中输入"/commands"时,就出错了

lhgzbxhz 发表于 2020-8-28 10:04:31

aaron.yang 发表于 2020-8-28 09:13
我在输入框中输入"/commands"时,就出错了

Javascript中的string是没有format方法的,建议使用字符串拼接,就像这样:
answer.innerHTML = "<ul><li>" + commands +"</li></ul>";
页: [1]
查看完整版本: javascript format报错