我刚开始自学JavaScript并正在做一些基本的练习。现在我正在尝试创建一个函数,它接受三个值并打印出最大值。但是,该功能在按钮点击时拒绝触发。我尝试制作一个单独的,非常简单的函数,仅用于调试,它也拒绝触发。我已经用几乎完全相同的方式编写了其他练习函数(它们有两个参数,而不是三个参数),工作正常。任何见解将不胜感激。
<!DOCTYPE HTML>
<html>
<head>
<script type = "text/javascript">
<!--
//Define a function Max() that takes three numbers as
//arguments and returns the largest of them.
function Boo(){
document.write("boo");
alert("boo");
}
function Max(p1, p2, p3){
document.write(p1+p2+p3);
alert('BOO!')
document.write(document.getElementById('value1').value);
var max = Number(p1);
v2 = Number(p2):
v3 = Number(p3);
if (v2 > max)
max = v2;
if (v3 > max)
max = v3;
document.write(max);
}
-->
</script>
</head>
<body>
<form>
<input type="text" id="value1" name="value1"/><br />
<input type="text" id="value2" name="value2"/><br />
<input type="text" id="value3" name="value3"/><br />
<input type = "button"
onclick="Boo()"
value = "Compare!"/>
<!-- onclick="Max(document.getElementById('value1').value,
document.getElementById('value2').value,
document.getElementById('value3').value)" -->
</form>
</body>
</html>
答案 0 :(得分:5)
v2 = Number(p2):
应该是
v2 = Number(p2);
此外,请查看开发人员工具,了解您使用的任何浏览器,以查找此类简单的语法错误。 (在大多数浏览器中,您可以按F12键)。
答案 1 :(得分:2)
chrome developer工具说它有语法错误!
v2 = Number(p2):
应该是:
v2 = Number(p2);
答案 2 :(得分:1)
您的javascript函数已使用<!-- -->
答案 3 :(得分:0)
这就是你所需要的:
var elements = document.getElementsByName('to_compare');
var elementsAsArray = [].slice.call(elements);
var numberValues = elementsAsArray.map(function(x) {
return Number(x.value)
});
return Math.max.apply(this, numberValues);
完整演示,包括使用console.log
而不是document.write
,还包括如何在不清除的情况下附加到文档:http://jsfiddle.net/yYhjD/1/
<head>
<script type="text/javascript">
function compare() {
var elements = [].slice.call(document.getElementsByName('to_compare'));
var numberValues = elements.map(function(x){return Number(x.value)});
return Math.max.apply(this, numberValues);
}
</script>
</head>
<body>
<input type="text" id="value1" name="to_compare" value="-10"/>
<input type="text" id="value2" name="to_compare" value="080"/>
<input type="text" id="value3" name="to_compare" value="79"/>
<br/>
<input type="button" onclick="console.log(compare())" value="Compare!"/>
</body>