• 箭头函数中不再支持 arguments,只能使用 ...rest 语法
  • arguments 不是纯正的数组类型,无法使用数组的函数
  • arguments 只能获取全部实参值,不能有所选择
  • 要想 arguments 实现同等的效果:[].slice.call(arguments,1)(此处的1为传入的值)

关于上面的不能使用数组方法的一条,我们可以简单的对比一下 for in 和 for of 来加深理解

  • for in 遍历的是 key并且 keyString 字符串类型,是无法进行数学运算的,它会把所有可枚举的属性全部罗列出来,包括后加的原型对象上面的方法;
  • for of 遍历的是 value,并且只会遍历数组的元素;
  • forEach 不可以使用 break,continue 结束循环,不可以使用 return 返回,空数组不执行;不可以遍历对象;
  • for of 适用遍历数组、类1数组对象、字符串、mapset 等拥有迭代器对象的,但是不能遍历对象,相比较 forEach ,可以正确响应 break、continue、return
  • 所有拥有 Symbol.iterator 的对象被称为可迭代的;可迭代对象的概念几乎贯穿于整门语言之中,不仅是 for of 循环,还有 MapSet 构造函数、解构赋值,以及新的展开操作符。

对于上面提到了 call 这边顺便说一下 call,apply,bind 之间的使用区别

  • 首先他们都是为了改变 this 指向而生的
  • callapply 都是直接使用,他们之间的区别是传入参数的不同,call 是直接传入,apply 是数组的形式传入;如下:
obj.call(target, arg1, arg2, ...);
obj.apply(targetj, [arg1, arg2, ...]);
  • bind 传入的参数是和 call 一样的,不过它返回的是一个函数,必须再使用 () 执行一下才可。

这边只是做了一个简单的对比,大家想要深入的学习的话,可以尝试着自己去实现一下这三个方法。

关于 arguments 和 剩余参数(rest)相关推荐

  1. ES6(二)——字符串模板、标签模板字符串、函数的默认参数、剩余参数、数组对象的展开语法、数值的表示、Symbol

    一.字符串模板基本使用 在ES6之前,如果我们想要将字符串和一些动态的变量(标识符)拼接到一起,是非常麻烦和丑陋的(ugly). ES6允许我们使用字符串模板来嵌入JS的变量或者表达式来进行拼接: 首 ...

  2. TypeScript入门教程 之 点差算子/散布运算符/...运算符/剩余参数/...参数

    TypeScript入门教程 之 点差算子/散布运算符/...运算符/剩余参数/...参数 点差算子/散布运算符 散布运算符的主要目标是散布数组或对象的元素.最好用示例说明. 应用 一个常见的用例是将 ...

  3. 初步探究ES6之字符串模板和剩余参数,默认参数

    本文介绍一下字符串模板以及剩余参数,默认参数的概念以及使用. 先来说说字符串模板. 字符串模板 ES6中允许使用反引号 ` 来创建字符串,此种方法创建的字符串里面可以包含由美元符号加花括号包裹的变量$ ...

  4. javascript语法_了解JavaScript中的解构,剩余参数和传播语法

    javascript语法 The author selected the COVID-19 Relief Fund to receive a donation as part of the Write ...

  5. ES6函数第二篇:剩余参数与展开运算符的练习

    上一篇讲了剩余参数和展开运算符,这一篇来几个小练习巩固一下吧 首先明确一点,展开运算符实现的克隆是浅克隆,即若克隆引用值,实际克隆的是它的地址,举个栗子叭 [例1] const obj = {name ...

  6. ES6/06/ES6简介,ES6新增语法,let声明变量,const声明常量,var,let和const总结,数组解构,对象解构,箭头函数,剩余参数

    ES6简介 ES全称:ECMAScript ; 由ECMA国际化组织制定的标准脚本语言的标准化规范: 为什么使用ES6? 每一次标准的诞生都意味着语言的完善,功能的加强,JavaScript语言本身也 ...

  7. 什么是剩余参数 ...arg

    什么是剩余参数 剩余参数语法允许我们将一个不定数量的参数表示为一个数组. 例如: function sum (first, ...args) {console.log(first); // 10con ...

  8. 函数 函数的基本使用 函数的四种基本形式 可选参数 函数默认参数 函数的剩余参数 构造函数() 函数重(chong)载

    函数主要定义行为的 匿名参数 const mingz = function  无名字(参数:数值类型):返回值的类型 接口函数: type(关键字)  别名 = (参数:number)=>返回值 ...

  9. 前端学习(1164):剩余参数02

    s2加入三个点接受剩余值

最新文章

  1. ScheduledThreadPoolExecutor的相关知识
  2. 学python可以做什么产品-学完Python可以做什么?主要用途有哪些?
  3. 谈谈虚拟化及其安全性
  4. 2016百度之星 - 资格赛(Astar Round1)
  5. MySQL数据库“十宗罪”(十大经典错误案例)
  6. spring InitializingBean接口
  7. Kubernetes——基本概念与理论
  8. artDialog ( v 6.0.2 ) content 参数引入页面 html 内容
  9. c语言利用参数方程绘图,CG实验1-利用C语言图形函数绘图概要1.doc
  10. 手机上有没有学python的软件-如何优雅的在手机上进行Python编程
  11. OpenLayers学习笔记(十一)— 飞机速度矢量线预测
  12. JavaScript问题01 js代码放在header和body的区别
  13. excel 工作表保护密码破解代码
  14. Visual Studio 2017 Enterprise绿色精简版介绍
  15. 南京大学2022年计算机考研复试分数线多少
  16. [学习报告]《LeetCode零基础指南》第三讲循环-gyro
  17. 置换选择排序算法详解(C语言实现)
  18. 你不得不知的网络编程三剑客
  19. javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题(window10)
  20. 点击化学DBCO修饰药物(DBCO-PEG-雷替曲塞,甲氨喋呤MTX,培美曲塞,磺胺地索辛)

热门文章

  1. 盘点im即时通讯开发中Android后台保活方案
  2. 2021-2025年中国4K超高清蓝光播放器行业市场供需与战略研究报告
  3. 添加arcgi移动地图点位事件
  4. 程序员中越老越吃香的方向------DBA
  5. Windows 的默认共享
  6. java自定义类型转换器
  7. 【转载】嵌入式Linux学前建议(初学者必读)
  8. 中国现代书画家——张福民、高俊祥、张晓东、潘江海
  9. samba服务(最简单教程)
  10. android NDK 位置无效