参数 中_理解JavaScript中函数的参数
1,arguments
JavaScript的函数的参数(arguments)在函数体的内部表现为一个类似数组的对象。就是它拥有数组的方法,却不是Array的实例。
例1
我们直接打印出arguments,得到如下结果:
我们发现他有固定的几个属性和方法。length: 指的是传入参数的长度。Symbol指的是该数据是可遍历的。callee指向拥有这个arguments对象的函数,__proto__指向Object的原型对象。
其实我们声明函数的时候并没有指定参数,但是这个调用时的参数也保存到arguments中了。
例2:上面两个函数执行的结果是一样的
即使你声明了这个参数,调用函数的时候不传,也不会报错,只是参数为undefined。
注意:箭头函数没有自己的arguments。
2,参数设置默认值
在ES6出来之前我们给它设置默认参数,往往是在函数内部判断这个参数是不是为undefined,如果是,则意味着没有传这个参数,我们给它重新赋值。
ES6出来之后我们就可以显式的定义默认参数了。在参数后面用=就可以直接设置。这种方式更加直观和易懂。
例3
3,参数与扩展操作符。
ES6新增的扩展操作符,它可以很方便的操作参数数据。
(1)扩展参数
我们在调用函数的时候想要把数组的每一项当做参数传给函数,用扩展运算符就比较方便。
例4
(2)收集参数
我们在声明函数的时候使用扩展运算符,它会把剩余的参数收集起来,在函数体内以一个数组的形式体现。箭头函数不支持arguments,但可以用这种方式,收集所有参数。
例4...value当做形参时,只能放在所有参数最后面
参数 中_理解JavaScript中函数的参数相关推荐
- javascript 符号_理解JavaScript中“ =”符号的直观指南
javascript 符号 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) 理解JavaScript中" ="符号的直观指南 (A Visu ...
- 西门子for循环例子_理解JavaScript中的循环缺陷和迭代协议
如果您已经用JavaScript或任何语言编程了一段时间,for-循环对你来说不应该陌生.您没有注意到许多编程语言,包括JavaScript,已经从使用for-循环使用迭代器-返回给定集合的下一项的对 ...
- 理解javascript中的回调函数(callback)【转】
在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...
- 理解javascript中的回调函数(callback)
理解javascript中的回调函数(callback) 在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Obje ...
- 深入理解JavaScript中的属性和特性
深入理解JavaScript中的属性和特性 JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaSc ...
- php event loop,理解javascript中的事件循环(Event Loop)
背景 在研究js的异步的实现方式的时候,发现了JavaScript 中的 macrotask 和 microtask 的概念.在查阅了一番资料之后,对其中的执行机制有所了解,下面整理出来,希望可以帮助 ...
- 理解JavaScript中的原型与原型链
理解JavaScript中的原型与原型链 原型链是一种机制,指的是JavaScript中每个内置的对象都有一个内置的__proto__属性指向创建它的构造函数的prototype(原型)属性.原型链的 ...
- 理解JavaScript中部分设计模式
理解JavaScript中部分设计模式 什么是设计模式 在软件工程中,设计模式是软件设计中常见问题可重用的方案.设计模式代表着经验丰富的软件开发人员使用的最佳实践.设计模式可以被认为是编程模板. 为什 ...
- 帮助你更好理解javascript中easing功能的网站 - Easings.net
日期:2012-10-17 来源:GBin1.com 如果你开发过jQuery的动画效果的话,肯定接触过一个jQuery插件:jquery.easing plugin,这个插件可以帮助你生成不同类型 ...
最新文章
- 学习如何在AutoCad土木工程中绘制建筑设计图
- JQuery 的跨域方法 可跨任意网站
- Building Paragon in Unreal Engine 4 - GDC 2016
- vue 转为静态html,Vue CLI 3使用:HTML和静态资源(五)
- 【Java】日期字符串转换java.sql.Date对象
- 苹果6系统怎么更新不了_苹果App Store登录不了怎么办_登录不了App Store的解决办法?...
- python学习之内部函数:
- Ubuntu20.04使用FreeRADIUS搭建EAP认证环境
- Python 实现 2048 游戏
- ZStack--级联框架
- Zabbix实现企业微信报警
- 小丸子学Docker系列之——安装Docker及基本命令的使用
- verlay虚拟化技术_Overlay介绍
- VMware:继续使用 Adob​​e Flash 管理您的 vCenter
- 富文本编辑器图片上传功能提示falsh版本低请你升级的解决方法
- 计算机芯片的主要材料是半导体吗,芯片的主要材料
- 日本上班族坐抗力球减臀
- (记) Deployment设置环境变量不生效
- 【解决】Unet训练自己的数据集,预测结果全黑
- MT6357 PMIC datasheet,MT6357数据手册,MT6357原厂资料介绍