1. 函数参数默认值

用法如下

{function test(x, y = 'world') {console.log('默认值', x, y);}test('hello');        // hello worldtest('hello', 'TH');  // hello TH
}

2. rest 参数

在不确定参数个数的时候,把输入的参数都转化为数组:

注意: rest 参数后边不能再放其他参数了, 否则会报错

{function test3(...arg) {for (let v of arg) {console.log('rest', v);}}test3(1, 2, 3, 4, 'a');
}// rest 1
// rest 2
// rest 3
// rest 4
// rest a

3. 箭头函数

引入箭头函数有两个方面的作用:更简短的函数并且不绑定this

3.1用法

(参数1, 参数2, …, 参数N) => { 函数声明 }//相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }
(参数1, 参数2, …, 参数N) => 表达式(单一)// 当只有一个参数时,圆括号是可选的:
(单一参数) => {函数声明}
单一参数 => {函数声明}// 没有参数的函数应该写成一对圆括号。
() => {函数声明}

3.2 关于this

箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。this会在函数定义时候就被确定(es5中非箭头函数则在运行是才会被确定)

function Person(){this.age = 0;setInterval(() => {this.age++; // |this| 正确地指向 p 实例}, 1000);
}var p = new Person();

3.3. call apply bind 与箭头函数

由于箭头函数没有自己的this指针,通过 call() apply() 方法调用一个函数时,只能传递参数(不能绑定this),他们的第一个参数会被忽略。(这种现象对于bind方法同样成立)。

3.4. 其他

箭头函数不能用作构造器,和new一起用会抛出错误。

箭头函数不绑定Arguments 对象。

箭头函数没有prototype属性。

yield 关键字通常不能在箭头函数中使用(除非是嵌套在允许使用的函数内)。因此,箭头函数不能用作生成器

的setinterval函数_ES6 极简教程 lt;6gt; 函数扩展相关推荐

  1. 《Kotlin极简教程》第三章 Kotlin基本数据类型

    正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item ...

  2. 高效sql性能优化极简教程

    一,sql性能优化基础方法论 对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的 ...

  3. 《Kotlin 极简教程 》第5章 集合类

    <Kotlin 极简教程 >第5章 集合类 <Kotlin极简教程>正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的 ...

  4. 《Kotlin极简教程》第1章 Kotlin简介

    第1章 Kotlin简介 最新上架!!!< Kotlin极简教程> 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: Kotlin 极简教程 http://ww ...

  5. ES6 极简教程(ES6 Tutorial) 文 / 东海陈光剑

    ES6 极简教程(ES6 Tutorial) 文 / 东海陈光剑 ECMAScript简介 JavaScript是ECMAScript的实现和扩展,由ECMA(一个类似W3C的标准组织)参与进行标准化 ...

  6. 《Kotin 极简教程》第13章 使用 Kotlin 和 Anko 的Android 开发

    第13章 使用 Kotlin 和 Anko 的Android 开发 最新上架!!!< Kotlin极简教程> 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: ...

  7. 《Kotin 极简教程》第14章 使用 Kotlin DSL

    第14章 使用 Kotlin DSL 最新上架!!!< Kotlin极简教程> 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: Kotlin 极简教程 htt ...

  8. 【“计算机科学与技术”专业小白成长系列】Linux Shell 编程 极简教程

    Linux Shell 编程 极简教程 内容摘要 本文是 Linux Shell 编程简单入门.主要内容: Linux 简介 Shell 编程入门 Kotlin 脚本与 Shell 脚本 Linux ...

  9. 《Kotin 极简教程》第9章 轻量级线程:协程(2)

    <Kotlin极简教程>正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者,大家请多支持!!!有任何问题,欢迎随时与我交流~ ...

最新文章

  1. 2022-2028年中国数字化制造产业研究及前瞻分析报告
  2. windows扫描域内端口
  3. ssh客户端使用及下载
  4. WPF ,listbox,平滑滚动的2种方式。
  5. [转]JS获取当前对象大小以及屏幕分辨率等
  6. mysql 副本 同步_副本机制与副本同步
  7. php thinkphp重定向,ThinkPHP框架让页面重定向方法总结
  8. idea编译后target文件不全_IntelliJ IDEA 不能更新target中的java等部分文件
  9. 点击加入购物车直接转到购物车页面
  10. Windows下QT配置librdkafka
  11. QQ连连看外挂源码-VB源代码
  12. i51130g7和i71160g7差多少 酷睿i5 1130G7和i7 1160G7差距
  13. 站在巨人的肩膀上-听课感想
  14. Error: While importing ‘run_app_dev‘, an ImportError was raised.
  15. MFC画图的基本知识 转载链接http://lc7cl.iteye.com/blog/1336221
  16. android 5.1 壁纸路径,Android5.1 壁纸来源选项中有两个“壁纸”选项
  17. 【循环搜寻法(使用卫兵)】
  18. 狂徒AI对罗翔老师下手了
  19. folly库安装(2)openssl升级、python3.8安装
  20. 企业智能化转型meetup回顾|开源BI AI助力企业转型之旅三阶段

热门文章

  1. python使用PyMysql连接MySQL实现增删改查
  2. mysql做文本挖掘_4graphlab简单文本挖掘
  3. 利用函数wavread对语音信号进行采样_AI大语音(一)——语音识别基础(深度解析)...
  4. vue 嵌套表格组件_使用form-create动态生成vue自定义组件和嵌套表单组件
  5. 模拟微信支付服务器测试,专栏 - 腾讯WeTest-All Test in WeTest
  6. mysql二级缓存,mybatis的动态sql和二级缓存
  7. java背景图片加上组件_关于 java swing组件加背景图片的问题
  8. mysql 字符串类型 分区_MySQL分区类型
  9. ldap基本dn_LDAP 中 DN CN DC OU
  10. java 截取汉字首字母,java 取汉字首字母