我对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>
答案 0 :(得分:2)
length
是属性,而不是函数。
count< a.length()
应为count < a.length
您的代码中还有其他几个问题。使用http://www.jshint.com/
我还建议您查看array.filter
和array.indexOf
。
答案 1 :(得分:0)
您有一系列语法错误..
var c
和var x
错误。删除var
length
是属性,而不是函数。因此请删除之后的()
.. ;
醇>
一起
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好运