一 基本方法

function fn(obj) {switch(obj.length){case 3:return obj.length;break;default:return false;break;}
}fn({first: 1,second: 2,third: 3
});

二 arguments
arguments虽然不是数组,但可以当作数组使用,下标由 0 开始,所以:
arguments[0] 表示接收的第一个参数
arguments[1] 表示接收的第二个参数
转成数组:var args = Array.prototype.slice.call(arguments);

//写一个累加求和的函数
function sum(){var result=0;for(var i=0;i<arguments.length;i++){result+=arguments[i];}return result;}console.log(sum(2,3,4));//9console.log(sum(1,10,100,1000));//1111//arguments的callee属性是用来引用当前正在执行的函数,这对未命名的函数调用自身非常有好处。
//采用arguments.callee属性实现递归函数
var result =function(x){if(x<=1)return1;return x*arguments.callee(x-1);
};

arguments是javascript的保留字之一

三 ES6就更方便

function foo(...args) {console.log(args);
}

三个点(...)在es6中,有两个含义

  1. 用在形参中, 表示传递给他的参数集合, 类似于arguments, 叫不定参数. 语法格式: 在形参面前加三个点( ... ) 不定参数只能放在最后面且只有一个
  2. 用在数组前面,可以把数组的值全部打散,展开,叫展开运算符. 语法格式: 在数组面前加三个点( ... )

javascript不定参数相关推荐

  1. C技巧:结构体参数转成不定参数

    下面这段程序是一个C语言的小技巧,其展示了如何把一个参数为结构体的函数转成一个可变参数的函数,其中用到了宏和内建宏"__VA_ARGS__",下面这段程序可以在GCC下正常编译通过 ...

  2. c语言里的多参数吗,C语言中不定参数的实现

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 但是请注意,由於 K&R C 中并不检查参数型态,so 在此是用 ANSI C 来说明,毕竟 ANSI C 是目前所有 C Compiler 都支 ...

  3. 函数参数 不定参数,和 默认参数

    实现查找一个字符串中是否包含若干"子串" function containsAll(haystack) { for (var i=1; i<arguments.length; ...

  4. iOS 实现不定参数方法

    在iOS要实现不定参数的函数,有一个方案是用C/C++中的va_list.va_start.va_arg.va_end来实现.这样实现需要一个哨兵参数,就是调用方法是最后必须要加一个nil或者0的参数 ...

  5. JavaScript 函数参数

    JavaScript 函数参数 JavaScript 函数对参数的值没有进行任何的检查. 函数显式参数(Parameters)与隐式参数(Arguments) functionName(paramet ...

  6. Java 反射 不定参数bug

    Java 反射 不定参数bug 遇到的第一个关于反射的bug:java.lang.IllegalArgumentException: wrong number of arguments的问题解析如下: ...

  7. 2020-11-28(不定参数的函数)

    c\c++将不定长参数的函数定义为: a.至少要有一个参数: b.所有不定长的参数类型传入时都是dword类型: c.需在某一个参数中描述参数的总个数或将最后一个参数赋值为结尾标记. 有了这三个特性, ...

  8. C、C++不定参数的使用

    不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多.除了格式化输出之外,我实在没看到多少应用.主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替 ...

  9. c语言int val,c语言不定参数与printf函数的实现

    今天学习了C语言不定参数,C语言中的不定参数主要靠这个头文件实现,这个头文件包含了va_list().va_start().va_end()三个宏,其用法为先声明一个va_list类型的变量,它用于访 ...

最新文章

  1. Dos批处理常用命令大全入门
  2. python怎么让摄像头图像暂停然后在启动_双目摄像头测量距离
  3. python open encoding为无效的参数_TypeError:“encoding”是无效的关键字参数ex23.py
  4. hive入ES5.6.8
  5. Linux-进程基础
  6. 常用的JDBC的驱动
  7. JDK的代码:抱怨FreeType的斜体不好用,自行处理
  8. 无线wifi的dns服务器,无线wifidns是什么
  9. linux磁盘所有格式化命令,Linux磁盘格式化命令的详细说明
  10. Every Document Owns Its Structure: Inductive Text Classification via GNN (TextING)
  11. MPP(大规模并行处理)简介
  12. 2014年计算机求职总结--准备篇 (顺便也带点自己在美国准备的总结吧)
  13. 计算机网络之实验四---WEB 服务器配置与 HTTP 分析
  14. Poi 导出excel单个sheet的内容
  15. nodejs+express对微信公众号进行二次开发--接收消息,自动回复文本,图片以及代码优化
  16. 计算机网络-运输层(UDP/TCP协议)
  17. 学计算机的用i5,我学计算机专业,想买微星gl62m,处理器应该选i5还是i7的?
  18. idea已经导入了数据库jar包无法连接数据库
  19. java实现沙箱测试环境支付宝支付(demo)和整合微信支付和支付宝支付到ssm环境全过程(附源码)...
  20. Java、JSP酒店网上订房系统

热门文章

  1. python hdf5 —— h5py
  2. hard-negative mining 及伪代码实现
  3. opencv cvtColor dtype issue(error: (-215) )
  4. 面向对象 —— 类的分类
  5. matplotlib 可视化 —— 定制画布风格 Customizing plots with style sheets(plt.style)
  6. Python Tricks(十六)—— list转换为str
  7. UNIX 环境高级编程(五)—— unistd.h
  8. ZooKeeper 基本操作
  9. C++ 类中特殊成员变量(常量、静态、引用)的初始化方法
  10. python处理excel表格-Python读写Excel表格(简单实用)