首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JavaScript入门(5)

JavaScript入门(5)

作者头像
Qwe7
发布2022-04-04 08:15:20
发布2022-04-04 08:15:20
6210
举报
文章被收录于专栏:网络收集网络收集

五、JavaScript函数中的参数(arguments)

arguments

 argument是JavaScript中的一个关键字,用于指向调用者传入的所有参数。

代码语言:javascript
复制
function example(x){
    alert(x); //1
    alert(arguments.length); //3
    for(var i=0; i<arguments.length; i++){
        alert(arguments[i]);  //1,2,3   
    }      
}
example(1,2,3);
 

 即使不定义参数,也可以取到调用者的参数。

代码语言:javascript
复制
function abs() {
    if (arguments.length === 0) {
        return 0;
    }
    var x = arguments[0];
    return x >= 0 ? x : -x;
}
 
abs(); // 0
abs(10); // 10
abs(-9); // 9
 

REST

 由于JavaScript函数允许接收任意个参数,所以不得不用arguments来获取函数定义a以外的参数。

代码语言:javascript
复制
function exm(a) {
    var rest = [];
    if (arguments.length > 1) {
        for (var i = 1; i<arguments.length; i++) {
            rest.push(arguments[i]);
        }
    }
}
 

 其实ES6给了新的rest参数,用在函数最后,多余的参数以数组的形式交给变量rest,如果传入的参数未填满函数定义的参数,rest会是一个空数组。

代码语言:javascript
复制
function exm(a, b, ...rest) {
    console.log('a = ' + a);
    console.log('b = ' + b);
    console.log(rest);
}
 
exm(1, 2, 3, 4, 5);
// 结果:
// a = 1
// b = 2
// Array [ 3, 4, 5 ]
 
exm(1);
// 结果:
// a = 1
// b = undefined
// Array []
<script>
        function say() {
    
            console.log('Hello' + arguments[0] + arguments[1]);
    
            console.log(arguments.length);
    
        }
    
        say('World!', 'ByeBye!');
    </script>

六、练习题

(1)

题目:在页面中添加两个单行文本框,在两个文本框中输入两个数字,使用JavaScript函数比较这两个函数大小,并使用对话框输出最大数。

实现代码如下:

举例:

代码语言:javascript
复制
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <script type="text/javascript">

        function maxNum()

        {

            //获取两个文本框的值

            var x = document.getElementById("num1").value;

            var y = document.getElementById("num2").value;

            //强制转换为数值型

            x = parseFloat(x);

            y = parseFloat(y);

            if(x<y)

            {

                alert("最大数是:"+y);

            }

            else

            {

                alert("最大数是:"+x);

            }

        }

    </script>

</head>

<body>

    第一个数是:<input type="text" id="num1"/><br/>

    第二个数是:<input type="text" id="num2"/><br/>

    <input type="button" onclick="maxNum()" value="计算"/>

</body>

</html>

在浏览器预览效果如下:

我们随便输入两个数字如“50和100”,然后点击“计算”按钮即可输出最大数,效果如下:

分析:

这一个程序非常简单,但是包含的信息量不少。

document.getElementById()类似于CSS中的id选择器,而document.getElementById("num1").value表示选取id为num1的元素并获取它的值。这个方法经常用到,大家要记一下。我们在后续课程会给大家详细讲解。

这里用到了函数调用的其中一个方式“在事件中调用函数”。<input type="button" οnclick="maxNum()"/>表示在按钮点击的时候执行函数maxNum()。

此外,还有一点要注意的是:有些同学呀,在定义这个函数的时候定义的函数名是max,然后发现出错了!oh~,其实那是你忽略了很基础的一点,那就是自己定义的函数名是不能与JavaScript内部定义的函数名相同。

(2)

题目:写一个函数,输入一个4位数字,要求使用对话框输出这4个数字字符,但每两个数字之间留一个空格,如输入1992,应输出“1 9 9 2”。

代码实现如下:

举例:

代码语言:javascript
复制

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <script type="text/javascript">

        function strNum()

        {

            //获取输入文本框中的值,这里获取的值是一个字符串

            var s = document.getElementById("num").value;

            var s1="";

            for(var i=0;i<4;i++)

            {

                //如果获取的不是最后一个字符

                if(i!=3)

                {

                    s1+=s.charAt(i)+ " ";

                }

                //如果获取的是最后一个字符

                else

                {

                    s1+=s.charAt(i);

                }

            }

            alert(s1);

        }

    </script>

</head>

<body>

    输入数字是:<input type="text" id="num"/><br/>

    <input type="button" onclick="strNum()" value="提交"/>

</body>

</html>

在浏览器预览效果如下:

在文本框输入2015,然后点击“提交”按钮,效果如下:

分析:

这里再一次用到了document.getElementById(),而字符串操作的charAt()方法我们在上一章的练习中也接触了,详细内容我们在字符串对象这一章会讲解。程序还是比较简单的,大家琢磨一下。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档