Javascript功能,知识低

时间:2013-11-10 17:31:47

标签: javascript html function

我对Java和C ++有很好的理解。我现在正在第一次学习JavaScript,而且我在完成一项家庭作业时遇到了麻烦。话虽如此,我不想直接回答,只是朝着正确的方向发展。我需要有两个函数:一个用于查找给定数字的索引(来自数组),另一个用于获取超过特定值x的数组的所有数字。我已经尝试过alert(findIndex(1)),document.write(findIndex(1),最近我尝试过使用一个按钮。除了我创建的按钮外,没有显示任何内容。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN"
    "http://www.w3.org/TR/html4/strict.dtd>
<head>
<script type = "text/javascript">
var a = [0,1,2,3,4];
function findIndex(var c){
    for(var count = 0; count< a.length();count++;){
        if(a[count] == c){
            alert(count);
        }
    }
    alert("No index can be found");
  }
  function equalOrAboveX(int x){
    for(var count = 0; count< a.length();count++;){
      if(a[count]>= x){
    alert(a[count]);
      }
    }
  }
  </script>
</head>
<body>
<input type="button" value="findIndex(1)" onclick="findIndex(1)">
</body>
</html>

3 个答案:

答案 0 :(得分:2)

length是属性,而不是函数。

count< a.length()应为count < a.length

您的代码中还有其他几个问题。使用http://www.jshint.com/

我还建议您查看array.filterarray.indexOf

答案 1 :(得分:0)

您有一系列语法错误..

    函数参数定义中的
  1. var cvar x错误。删除var
  2. length是属性,而不是函数。因此请删除之后的() ..
  3. 删除循环定义
  4. 末尾的;

    一起

    var a = [0,1,2,3,4];
    function findIndex(c){
        for(var count = 0; count< a.length;count++){
            if(a[count] == c){
                alert(count);
            }
        }
        alert("No index can be found");
      }
    
      function equalOrAboveX(x){
        for(var count = 0; count< a.length;count++){
          if(a[count]>= x){
        alert(a[count]);
          }
        }
      }
    

答案 2 :(得分:0)

很高兴听到你正在学习javascript。

一些事情。正如plalx所说length是一个属性而不是一个函数。 在为函数声明参数时,也不要使用var关键字。

通常,要查找这些错误,您可以在浏览器中使用javascript控制台。可以使用chrome中的(shift in linux/windows)cmd+alt+j来显示它。使用node.js运行不需要浏览器的代码也是一个好主意。

您可能需要考虑阅读的javascript开发的常见模式是。 anonymous self invoking function,它看起来像这样。 Javascript很像C ++,因为你需要知道很多陷阱和事情。

(function () {
  "use strict";
  //Code here
}());

强烈建议使用某种类型的linter,而不是某种形式。

祝你学习javascript好运