• [译]Javascript 参数(arguments)对象


    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单

    源地址在此:

    https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b

    Javascript 参数(arguments)对象是一个在所有函数中都可用的本地变量.其包含了所有传给函数的参数,并且像数列一样排着序.参数对象的长度就是传给函数的参数个数.

    JavaScript 参数对象例子:

    function printArguments() 
    {
        document.write("Number of arguments = " + arguments.length + "<br/>")
        for (var i = 0; i < arguments.length; i++) 
        {
            document.write("Argument " + i + " = " + arguments[i] + "<br/>");
        }
        document.write("<br/>");
    }
    
    printArguments();
    printArguments("A", "B");
    printArguments(10, 20, 30);

    可以将任意个数的参数传给Javascript函数吗

    可以的.你可以传任意个数的参数给任意Javascript函数.所有的参数将会被存在参数对象中

    function addNumbers() 
    {
        var sum = 0;
        document.write("Count of numbers = " + arguments.length + "<br/>")
        for (var i = 0; i < arguments.length; i++) 
        {
            sum = sum + arguments[i];
        }
        document.write("Sum of numbers = " + sum);
        document.write("<br/><br/>");
    }
    
    addNumbers();
    addNumbers(10, 20, 30);

    参数对象只在函数内部有效.在函数外部试图获得参数对象的话只会导致undefined错误.尽管你可以像数列一样给arguments排序,但是其并不是数列.除了长度属性以外,参数对象并没有其他数列所拥有的属性.比如数列所拥有的sort()方法,参数对象并没有.但是,你可以轻易地将参数对象转换成一个数列.

    将Javascript参数对象转换成一个数列

    function numbers() 
    {
        var argsArray = Array.prototype.slice.call(arguments);
        argsArray.sort();
        document.write(argsArray);
    }
    
    numbers(50, 20, 40);

    Output : 20, 40, 50

  • 相关阅读:
    SpringMvc框架总结
    Spring框架总结
    Redis常用数据类型
    从配置文件中获取list,set,map值
    Oracle数据库编码格式不同造成乱码
    事务
    Spring-动态代理
    关于Maven项目pom.xml文件不报错却有红叉的问题
    Spring—SSJ集成&声明式事务管理
    Spring-构造注入&注解注入&代理模式&AOP
  • 原文地址:https://www.cnblogs.com/otakuhan/p/7786845.html
Copyright © 2020-2023  润新知