【问题标题】:Embedded javascript not running in html file?嵌入的 javascript 不在 html 文件中运行?
【发布时间】:2016-03-04 13:09:45
【问题描述】:

我正在尝试创建一个提供两个整数的最小乘数的函数。我的 HTML 文件中有一些嵌入式 JavaScript。似乎脚本甚至没有运行。应该是功能有问题吧?因为即使我做了一个简单的直接 return a*b 函数,它仍然没有运行。我在这里遗漏了一些东西,找不到它。

<!-- language: lang-js -->
<!DOCTYPE html>
<html>
<body>

<p>The lowest multiple:</p>

<p id="demo"></p>

<script>


function myFunction(a, b) {
    var aArray = [];
    var bArray = [];

    for(var i = 2; true ; i++){
        aArray.push(i*a);
        bArray.push(i*b);
        if(i%10 == 0){
              for each(var item in aArray){
                  if(bArray.indexOf(item) >= 0){
                       return item;
                 }
             }
              if(i === 100){break;}
         }
    }
}
var a = prompt("");
var b = prompt("");

document.getElementById("demo").innerHTML = myFunction(a, b);
</script>

</body>
</html>

【问题讨论】:

  • for each( -> “意外的标识符”
  • 为什么不使用for()
  • 我认为你的问题是 for each 循环方法。有一篇关于 here 的帖子

标签: javascript html function


【解决方案1】:
<!-- language: lang-js -->
<!DOCTYPE html>
<html>
<body>

<p>The lowest multiple:</p>

<p id="demo"></p>

<script>


function myFunction(a, b) {
    var aArray = [];
    var bArray = [];

    for(var i = 2; true ; i++){
        aArray.push(i*a);
        bArray.push(i*b);
        if(i%10 == 0){
              for(var item in aArray){
                  if(bArray.indexOf(aArray[item]) >= 0){

                       return aArray[item];
                 }
             }
              if(i === 100){break;}
         }
    }
}
var a = prompt("");
var b = prompt("");

document.getElementById("demo").innerHTML = myFunction(a, b);
</script>

</body>
</html>

【讨论】:

    【解决方案2】:

    for each(var item in aArray)

    在语法上不是有效的 JavaScript。 Array.prototype.forEach 是一个可用于迭代的函数。

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 1970-01-01
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多