兄弟你几个地方写错了
1、js事件名称写错了。是onclick不是onclik,少了一个c
2、获取控件是getElementById,不是getElemenById,少了一个t
3、逻辑不够严谨,如果文本框没有输入内容就提示对了。
修改后的代码如下:
<!DOCTYPE html><html>
<head>
<mate charset="UTF-8">
<title>Insert title here</title>
<script>
//网页加载时直接生成随机数,
//该数在body加载钱就有了,所以
//用户点击猜时在对应函数内可以用。
//0<=x<1
var ran = parseInt(Mathrandom() 100);
//无论此函数写在前面还是这里,它都是在用户点击按
//钮时调用的,它都比生成的随机数执行的晚。
function guess() {
//获取文本框里的值
var n = documentgetElementById("num")value;
var span = documentgetElementById("result");
if (n == "") {
spaninnerHTML = "请在文本框输入数字";
return;
}
//判断该值是否为数字
if (isNaN(n)) {
//不是数字,给予提示
spaninnerHTML = "请输入数字";
} else {
//是数字,和随机数比较
if (n < ran) {
spaninnerHTML = "太小了";
} else if (n > ran) {
spaninnerHTML = "太大了";
} else {
spaninnerHTML = "对了";
}
}
}
</script>
</head>
<body>
<input type="text" id="num" />
<input type="button" value="猜" onclick="guess();" />
<span id="result"></span>
</body>
</html>
JS函数的参数在function内可以用arguments对象来获取。
参数的调用有两种方式:
1、期望参数的使用。
2、实际传递参数的使用。
应用举例:
function
Test(a,
b){
var
i,
s
=
"Test函数有";
var
numargs
=
argumentslength;
//
获取实际被传递参数的数值。
var
expargs
=
Testlength;
//
获取期望参数的数值,函数定义时的预期参数个数(有a和b
2个参数)。
s
+=
(expargs
+
"个参数。");
s
+=
"\n\n"
for
(i
=0
;
i
<
numargs;
i++){
//
获取参数内容。
s
+=
"
第"
+
i
+
"个参数是:"
+
arguments[i]
+
"\n";
}
return(s);
//
返回参数列表。
}
alert(Test('param1','second
param','第三个参数'));
需要注意的是:
arguments是一个object对象,它不是数组,不能对它使用shift、push、join等方法。
上述举例时用的arguments[i]中的i只是作为arguments对象的属性,并不能理解为数组下标。
代码演示
<html>
<head>
<script
language="javascript">
function
reloadList(){
if(typeof
arguments[0]
==
"function"){
arguments[0]call(this);
arguments[0]();
}
if(typeof
arguments[0]
==
"string")
alert(arguments[0]);
if(typeof
arguments[0]
==
"number")
alert(arguments[0]);
if(typeof
arguments[0]
==
"undefined")
alert(arguments[0]);
if(typeof
arguments[0]
==
"boolean")
alert(arguments[0]);
if(typeof
arguments[0]
==
"null")
alert(arguments[0]);
}
reloadList(function(){});
</script>
</head>
<body>
</body>
以上这篇深入理解JS函数的参数(arguments)的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
JS函数的定义方式比较灵活,它不同于其他的语言,每个函数都是作为一个对象被维护和运行的。\x0d\先看几种常用的定义方式:\x0d\functionfunc1([参数]){\x0d\/函数体/\x0d\}\x0d\varfunc2=function([参数]){\x0d\/函数体/\x0d\};\x0d\varfunc3=functionfunc4([参数]){\x0d\/函数体/\x0d\};\x0d\varfunc5=newFunction();\x0d\上述第一种方式是最常用的方式,不用多说。\x0d\第二种是将一匿名函数赋给一个变量,调用方法:func2([函数]);\x0d\第三种是将func4赋给变量func3,调用方法:func3([函数]);或func4([函数]);\x0d\第四种是声明func5为一个对象。\x0d\再看看它们的区别:\x0d\functionfunc(){\x0d\//函数体\x0d\}\x0d\//等价于\x0d\varfunc=function(){\x0d\//函数体\x0d\}\x0d\但同样是定义函数,在用法上有一定的区别。\x0d\\x0d\//这样是正确的\x0d\func(1);\x0d\functionfunc(a)\x0d\{\x0d\alert(a);\x0d\}\x0d\\x0d\\x0d\//这样是错误的,会提示func未定义,主要是在调用func之前没有定义\x0d\func(1);\x0d\varfunc=function(a)\x0d\{\x0d\alert(a);\x0d\}\x0d\//这样是正确的,在调用func之前有定义\x0d\varfunc=function(a)\x0d\{\x0d\alert(a);\x0d\}\x0d\func(1);\x0d\\x0d\用同样的方法可以去理解第三种定义方式。\x0d\第四种定义方式也是需要声明对象后才可以引用。
以上就是关于JS 函数问题全部的内容,包括:JS 函数问题、深入理解JS函数的参数(arguments)的使用、JS里声明函数有几种方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)