• JavaScript参数处理的基本原理


    一、你可以传递任意数量的参数

      当调用一个 function 时,你想传递多少参数都可以,这与该函数声明了多少个正式的参数无关。 缺失参数的值是 undefined,多出来的参数则直接被忽略掉。

    二、所有传递的参数都储存在 arguments 中

      所有传递的参数都储存在一个很特别、很像 Array(继续看就能知道为什么了)的变量里——arguments。

      通过下面的function 我们来看下这个变量怎么用的:

    function g() {
        console.log('Length: '+arguments.length);
        console.log('Elements: '+fromArray(arguments));// fromArray 函数,它把 arguments 转换成 array 这样就能存入数据了
    }

      调用 g():

    > g()
    Length: 0
    Elements:
    > g('a')
    Length: 1
    Elements: a
    > g('a', 'b')
    Length: 2
    Elements: a,b

      无论明确声明了多少个参数,arguments 是永远在那里的,它总是包含所有实际的参数。

      如果调用者没有提供参数,那么 undefined 就会传递给 function。 你不传参数与传入 undefined 获得的结果是一样的

      而传入false0 以及空字符串都被解析为缺失参数

    Tips1:

    我们可以用 || 来指定参数默认值:

    function add(x, y) {
        x = x || 0;
        y = y || 0;
        return x + y;
    }

    三、arguments 不是 array

    arguments 并不是 array,它只是很像 array,你可以获取第 i 个参数比如 arguments[i], 你也可以检查它有多少个参数比如 arguments.length。 但是你不能用 Array 的方法如 forEach 或者 indexOf。 

     
  • 相关阅读:
    jquery 遮罩层显示img
    redis 模糊查找keys
    consul windows安装
    redis cluster以及master-slave在windows下环境搭建
    c# 设置和取消文件夹共享及执行Dos命令
    svg教程
    mybatis高级查询
    css常用技巧1
    ssm搭建,maven,javaConfig
    MyBatis整体架构
  • 原文地址:https://www.cnblogs.com/mousehhq/p/4309399.html
Copyright © 2020-2023  润新知