js---通过arguments来获取指定参数
通过访问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来获取指定参数的更多相关文章
- 关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除,并返回url
在网页上找了半天,发现现在的资源实在是少的可怜,而前端尤甚.所以没办法,于是自己花了一些时间写了一个: 1 /** 2 * 删除URL中的指定参数 3 * @param {*} url 4 * @pa ...
- js函数arguments与获取css样式方法
函数传参,当参数的个数不定时,可以使用arguments:表示实参集合 arguments.length=实参个数 获得css样式方法: getComputedStyle()方法---->得到的 ...
- JAVA从URL参数链接中获取指定参数的值
import java.util.HashMap; import java.util.Map; /** * @author yvioo */ public class UrlUtils { /** * ...
- js 路径改变时获取url参数
当我们在使用react或vue的router作路由跳转时,为了保持菜单与地址栏状态一致,我们可以使用window.onhashchange捕获#后面的变化 window.onhashchange = ...
- JS字符串截取(获取指定字符后面的所有字符内容)
function getCaption(obj){ var index=obj.lastIndexOf("\-"); obj=obj.substring(index ...
- vue获取路由地址栏url里面的指定参数
this.$route.query.gid //gid是获取指定参数的名字
- js 获取 url 参数
/** * 根据页面地址获取所有参数对象 * @return Object{} 返回所有参数 * ------------------------------ * 根据页面地址获取指定参数对象 * @ ...
- js获取url参数、图片转本地base64跨域问题
获取url参数是经常需要用的一个方法,url上的参数可以让我们的程序执行更灵活. 图片转本地也是很实用的,因为海报合成通常只支持本地. 下面我们来看看这些功能的实现: 获取所有参数,采用split拆分 ...
- javascript获取URL参数和参数值
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 15.5.1【Task实现细节】 生成的代码
还在吗?我们开始吧.由于深入讲解需上百页的篇幅,因此这里我不会讲得太深.但我会提 供足够的背景知识,以有助于你对整个结构的理解.之后可通过阅读我近些年来撰写的博客文章, 来了解更加错综复杂的细节,或简 ...
- CSS设置input默认样式
HTML <ul class="box"> <li> <input type="checkbox" name="vehi ...
- 使用Selenium爬取网站表格类数据
本文转载自一下网站:Python爬虫(5):Selenium 爬取东方财富网股票财务报表 https://www.makcyun.top/web_scraping_withpython5.html 需 ...
- 09.正则表达式re-1.正则表达式
1.正则表达式概述 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列匹配某 ...
- 与公司2位经理的交流,Web开发知识库建设
1.代码库3种类型 WebCommon:网站开发技术选型和最佳实践 FansCommons :各种可以复用的代码 CentronCore,CentronWeb 3种类型:通用,web,环境(通用+We ...
- phpcms 电脑手机合并
电脑手机端 ========================== <script type="text/javascript"> function browserRed ...
- 松哥整理了 15 道 Spring Boot 高频面试题,看完当面霸
什么是面霸?就是在面试中,神挡杀神佛挡杀佛,见招拆招,面到面试官自惭形秽自叹不如!松哥希望本文能成为你面霸路上的垫脚石! 做 Java 开发,没有人敢小觑 Spring Boot 的重要性,现在出去面 ...
- Office办公软件各版本下载(一键安装)
史上最快最全的Office套件,含Word.PPT.Excel.Access.Outlook完整组件(微软官方版本). 推荐安装Office2010版本!一键完成清理.安装Office.自动激活. 图 ...
- C++ - 部分STL容器如何去除重复元素
如果元素被保存在vector中,可先对vector里面的元素排序,然后调用unique函数去重,unique(起始迭代器,终止迭代器),返回的是去重以后vector中没有重复元素的下一个位置的迭代器. ...
- 0926mysql join的原理
转自 http://www.cnblogs.com/shengdimaya/p/7123069.html MySQL JOIN原理 先看一下实验的两张表: 表comments,总行数28856 表 ...