簡體   English   中英

Javascript函數,知識不足

[英]Javascript functions, low knowledge

我對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>

length是一個屬性,而不是一個函數。

count< a.length()應為count < a.length

您的代碼中還有其他幾個問題。 使用http://www.jshint.com/

我也可以建議您看看array.filterarray.indexOf

您有一系列語法錯誤。

  1. 函數參數定義中的var cvar x錯誤..刪除var
  2. length是屬性而不是函數。 因此,請刪除其后的()
  3. 刪除; 在循環定義的末尾

全部一起

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]);
      }
    }
  }

很高興聽到您正在學習JavaScript。

一些東西。 正如普拉克斯所說, length是屬性而不是函數。 同樣,在為函數聲明參數時,不要使用var關鍵字。

通常,要查找這些故障,可以使用瀏覽器中的javascript控制台。 可以通過在Chrome中使用(shift in linux/windows)cmd+alt+j來顯示它。 使用node.js來運行不需要瀏覽器的代碼也是一個好主意。

您可能需要考慮閱讀的javascript開發常見模式是。 匿名自調用功能 ,它看起來像這樣。 從很多意義上講,您必須要了解的陷阱就很像Java ++。

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

強烈建議使用plaxl談到的短絨。

祝您學習javascript好運

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM