• 理解函数调用_使用arguments参数对所有函数参数执行操作


    <!DOCTYPE html>
    <html lang="en">
    <head>  
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script src="../unitl/test.js"></script>
        <style>
            #results li.pass {color:green;}
            #results li.fail {color:red;}
        </style>
    </head>
    <body>
        <ul id="results"></ul>
    </body>
    <script>
    
    
        //完全没有任何显式参数的函数
        function sum() {
    
            var sum = 0;
    
            //迭代所有传入参数,然后通过索引标记获取每个元素的值
            for (var i=0; i<arguments.length; i++) {
    
                sum += arguments[i];
    
            }
    
            return sum;
    
        }
    
        //调用函数并传入任意数量的参数
        assert(sum(1,2)===3,"We can add two numbers");
        assert(sum(1,2,3)===6,"We can add threee numbers");
        assert(sum(1,2,3,4)===10,"We can add four numbers");
    
    
       
    
    
    </script>
    </html>
        
    

    这个例子我们首先定义了一个没有显式任何参数的sum函数,尽管如此,我们依然可以通过arguments对象访问所有的函数参数。
    遍历所有的参数即可他们的和。大功告成,我们现在可以调用函数并传入任意数量的参数,接着我们通过测试几种情况来看看一切是否正常。这正是arguments对象的魅力所在。我们可以通过他编写更多样,更灵活的函数来轻松应对各种不同的情况。

    注意

          大多数情况下可以使用剩余参数(rest parameter)来代替arguments参数,剩余参数是整整的Array实例,也就是说你可以在他上面直接使用所有的数组方法。这对相对于arguments对象而言是个优势。
    
  • 相关阅读:
    MVC5+EF6 入门完整教程七
    MVC5+EF6 入门完整教程六
    MVC5+EF6 入门完整教程五
    MVC5+EF6 入门完整教程四
    MVC5 + EF6 完整入门教程三
    MVC5 + EF6 入门完整教程二
    MVC5 + EF6 入门完整教程
    最短路径简析
    PAT 1147 Heaps
    PAT 1146 Topological Order
  • 原文地址:https://www.cnblogs.com/jamal/p/14120202.html
Copyright © 2020-2023  润新知