通过访问arguments对象的length属性可以获取有多少个参数传递给了函数。

如:每次被调用的时候,输出传入其中的参数个数

function doAdd(){
alert(arguments.length)
}
doAdd() //0
doAdd(1) //1
doAdd(1, 2) //2
doAdd("string", 1) //2

由此,可以利用这一点,函数能够接受任意个参数参数并分别实现适当的功能。

我们在封装函数的时候,会携带不同的参数,我们想要获取指定的参数,可以通过 arguments[ ] 来拿到

function doAdd(){
if(arguments.length ==1 ){
alert(arguments[0])
}else if(arguments.length ==2 ){
alert(arguments[0] + arguments[1])
}
}
doAdd(1) // 1
doAdd(1, 2) // 3

接下来,我们再来看一个例子,arguments对象可以与命名参数一起使用。

function doAdd(num1, num2){
if(arguments.length ==1 ){
alert(num1 + arguments[0])
}else if(arguments.length ==2 ){
alert(arguments[1] + num2)
}
}
doAdd(1) //2
doAdd(1, 2) // 4

这里需要注意的一点是,两个命名的参数和argumens对象一起使用。由于num1和arguments[0]的值形态,他们可以互换使用。

此外,arguments的值要永远与对应命名参数的值保持同步。

function doAdd(num1,num2){
arguments[1] = 0;
  alert(num1); // 1
alert(num2); // 0
alert(arguments[0]) // 1
   alert(arguments[1]) // 0
}
doAdd(1, 2)

函数重写了第二个参数num2,将第二个参数的值改为0,因为arguments对象的值会反应到对应的命名参数上,所以修改argumens[1]的值也就是修改了num2。

js---通过arguments来获取指定参数的更多相关文章

  1. 关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除,并返回url

    在网页上找了半天,发现现在的资源实在是少的可怜,而前端尤甚.所以没办法,于是自己花了一些时间写了一个: 1 /** 2 * 删除URL中的指定参数 3 * @param {*} url 4 * @pa ...

  2. js函数arguments与获取css样式方法

    函数传参,当参数的个数不定时,可以使用arguments:表示实参集合 arguments.length=实参个数 获得css样式方法: getComputedStyle()方法---->得到的 ...

  3. JAVA从URL参数链接中获取指定参数的值

    import java.util.HashMap; import java.util.Map; /** * @author yvioo */ public class UrlUtils { /** * ...

  4. js 路径改变时获取url参数

    当我们在使用react或vue的router作路由跳转时,为了保持菜单与地址栏状态一致,我们可以使用window.onhashchange捕获#后面的变化 window.onhashchange = ...

  5. JS字符串截取(获取指定字符后面的所有字符内容)

    function getCaption(obj){     var index=obj.lastIndexOf("\-");     obj=obj.substring(index ...

  6. vue获取路由地址栏url里面的指定参数

    this.$route.query.gid     //gid是获取指定参数的名字

  7. js 获取 url 参数

    /** * 根据页面地址获取所有参数对象 * @return Object{} 返回所有参数 * ------------------------------ * 根据页面地址获取指定参数对象 * @ ...

  8. js获取url参数、图片转本地base64跨域问题

    获取url参数是经常需要用的一个方法,url上的参数可以让我们的程序执行更灵活. 图片转本地也是很实用的,因为海报合成通常只支持本地. 下面我们来看看这些功能的实现: 获取所有参数,采用split拆分 ...

  9. javascript获取URL参数和参数值

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. 卸载pycharm再重新安装后,找不到第三方库

    遇到的问题: 看到pycharm出了新的版本,手痒把旧的版本卸载,然后安装了最新的版本,然后问题就来了. 之前通过PIP命令安装的第三方库,import的时候都报错,找不到模块.既然以前能正常使用,现 ...

  2. 怎么在阿里云搭建一个WordPress博客(超详细教程)

    想以正确的方式启动一个 WordPress 博客吗?我知道,这可能是一个令人恐惧的想法 -- 其实你并不孤单.但是,在帮助很多用户创建博客之后,我决定编写一份详细的指南,让任何没有技术知识的人都能拥有 ...

  3. js通过插件发送邮件

    这个插件为SmtpJS 官网地址为  https://www.smtpjs.com/ 方法很简单 <script src="https://smtpjs.com/v2/smtp.js& ...

  4. RabbitMQ出现服务启动几秒退出问题

    最近在学习rebbitmq, 1.首先安装了otp_win64_20.3, 2.erlang安装完成需要配置erlang环境变量: 这个是新建的 文档是:ERLANG_HOME D:\develop\ ...

  5. TensorFlow实战笔记(17)---TFlearn

    目录: 分布式Estimator 自定义模型 建立自己的机器学习Estimator 调节RunConfig运行时的参数 Experiment和LearnRunner 深度学习Estimator 深度神 ...

  6. 【剑指Offer】37、数字在排序数组中出现的次数

      题目描述:   统计一个数字在排序数组中出现的次数.例如,输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于数字3在该数组中出现了4次,所以函数返回4.   解题思路:   既然输入的数 ...

  7. 【剑指Offer】20、包含min函数的栈

      题目描述:   定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)).   解题思路:   使用两个stack,一个为数据栈,另一个为辅助栈.数据栈 ...

  8. 04-Linux系统编程-第01天(文件IO、阻塞非阻塞)

    03-系统函数 系统编程章节大纲 1 文件I/O 2 文件系统 3 进程 4 进程间通信 5 信号 6 进程间关系 7 守护进程 8 线程 9 线程同步 10 网络基础 11 socket编程 12 ...

  9. 使用pm2启动nodejs+express+mysql管理系统步骤

    背景: 由于个人兴趣,了解了一下nodejs+express+mysql项目.在项目搭建完成并开发完成并部署时,遇到一个尴尬的问题,就是后台的servive服务启动问题.日常开发时,打开2个cm窗口, ...

  10. sqlalchemy带条件查询相关应用

    sqlalchemy带条件查询 filter_by与filter filter_by 与filter的区别: 1. filter_by只能取值= filter可以==,!=,>=,<=等多 ...