• [译]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

  • 相关阅读:
    linux命令---vi编辑器快速定位行数
    Linux如何查找大文件或目录总结
    Xargs用法详解(自创)
    linux如何模糊查找一个文件
    HashMap在什么场景下会由哪些内部方法导致线程不安全,至少给出一种场景
    索引失效(全面总结)
    异常处理(Exception Handling)
    JAVA异常及其异常处理方式
    Activity嵌套多个Fragment实现横竖屏切换
    iOS KVC(Key-Value Coding)
  • 原文地址:https://www.cnblogs.com/otakuhan/p/7786845.html
Copyright © 2020-2023  润新知