JS 函数问题

JS 函数问题,第1张

兄弟你几个地方写错了

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里声明函数有几种方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10157335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存