一 chrome断点调试

  • 观察函数调用栈
// 25min
var x = 1;
function foo(x, y = function () { x = 2; console.log(2) }) {var x = 3;y();console.log(x)
}
foo()
console.log(x)
// 2 3 1




var x = 1;
function foo(x, y = function () { x = 2; console.log(x) }) {x = 3;y();console.log(x)
}
foo()
console.log(x)
// 2 2 1

二 this指向

this指向总结
箭头函数的this

  1. 默认绑定规则:指向window(严格模式指向undefined)
  2. 隐式绑定:谁调用指向谁
  3. 显示绑定:call、apply、bind
  4. new

三 箭头函数

=> 胖箭头

const f = a => a
// 当参数只有一个时可省略括号()
// 当函数体只有一句return时 可省略括号{}和return
const f = () => 5
  • 箭头函数中不存在arguments,可以用rest运算符…args(数组)

四 rest/spread运算符…/不定参数

  • 展开或收集
  • 可以将数组展开
function foo(x, y, z){console.log(x, y, z)
}
foo(...[1, 2, 3]) // 1 2 3
foo.apply(null, [1, 2, 3]) // 1 2 3
foo.apply(undefined, [1, 2, 3]) // 1 2 3
  • 收集的功能
const sum = (...args) => args
// 返回的args是数组而不是类数组
const a = [2, 3, 4]
const b = [1, ...a, 5]
console.log(b) // 1 2 3 4 5
[1].concat(a, [5]) // 1 2 3 4 5

concat参数

  • rest收集必须是最后一个参数,否则报错
const fn = (a, ...b) => console.log(b)
fn(1, 2, 3, 4, 5) // [2,3,4,5]真正的数组

==argument数组排序 ==

  • 对函数形参的影响,…不计入length(默认值也会)
const fn = (a, ...b) => a
console.log(fn.length) // 1

ES6-6 - this指向、箭头函数基本形式、rest运算符相关推荐

  1. 石川es6课程---4、箭头函数

    石川es6课程---4.箭头函数 一.总结 一句话总结: 相当于函数的简写,类似python lambda 函数,先了解即可 let show1 = function () {console.log( ...

  2. ES6学习笔记:箭头函数

    lambda函数即匿名函数,在ES6发布之前,我们通常会这样写匿名函数 var selected = allJobs.filter(function (job) {return job.isSelec ...

  3. 高级JavaScript #ES6(模板字符串,let,箭头函数,forof,参数增强,解构,class,promise)

    模板字符串 1.模板字符串: 只要拼接字符串 都用模板字符串代替+a.整个字符串包裹在一对儿反引号 ` ` 中b.反引号``中支持换行 c.反引号中需要动态生成的内容必须放在${}里d. ${}里: ...

  4. ES6精解:箭头函数

    基本用法 在ES6中允许使用 => 来定义函数,如下: var f = a => a;console.log(f(1)); //1 就等同于 var f = function(a){ret ...

  5. ES6之什么是箭头函数?

    箭头函数是匿名函数,ES5匿名函数的语法糖:但又增加了ES5所没有的一些优点,接下来我们一起来看一看箭头: //ES5 var tt = function tt() {return 55 + 99; ...

  6. ES6基础语法(let、const、解构赋值、模板字符串、简化对象、箭头函数、扩展运算符)(一)

    系列文章目录 第二章:ES6深入(Symbol.类.迭代器.Set.Map)(二) 第三章:ES6深入(生成器.Promise.async/await)(三) 第四章:ES6+新增API拓展(对象AP ...

  7. ES6新特性之箭头函数

    概述:ES6允许使用箭头(=>)定义函数,箭头函数提供了一种更加简洁的函数书写方式,箭头函数多用于匿名函数的定义: 箭头函数的注意点 如果形参只有一个,则小括号可以省略 函数体如果只有一条语句, ...

  8. 实战 es6_Node.JS实战65:ES6新特性:箭头函数

    有人说ES6(ES2015)最具魅力的是箭头函数.但真的,我不这么认为:箭头函数这玩意真是又丑又变扭! 不过,箭头函数确实有它的功能优势: 1.简洁: (虽然我也不认为这是真的简洁,还是认为它是很变扭 ...

  9. ES6新特性_ES6箭头函数的实践以及应用场景---JavaScript_ECMAScript_ES6-ES11新特性工作笔记010

    然后我们再去看,这个箭头函数的一些应用 右边有块区域我们点击div以后实现2s以后,我们变成粉色 我们去实现 声明一个let ad得到这div对象 然后给这对象添加事件监听,可以看到这里,添加了一个c ...

最新文章

  1. mysql百万数据写入_mysql 百万级数据查找,并写入txt文件
  2. 多线程“基础篇”11之 生产消费者问题
  3. 使用Gradle构建Java项目
  4. java 307跳转_java – failure:retrofit.RetrofitError:307临时重定向?
  5. unity 加载完场景继续加载场景中的物体_Unity光照渲染原理
  6. 纯新手DSP编程--5.21--RTDX
  7. ASF文件格式详解(1)
  8. 连接远程服务器 远程服务器怎么连接
  9. 两个60后大叔的新能源战争:王传福与曾毓群的万亿赌局
  10. 各地2022年上半年软考考试疫情防控要求汇总-2022-05更新
  11. 语言-汉语-官话-中原官话-兖菏片:兖菏片
  12. java joda datetime_关于java:使用Joda将日期转换为DateTime
  13. Android微信App 分享功能调整,Android 微信SDK分享功能(1)
  14. Angular 5 反向代理配置
  15. 程序员社交网站_程序员不必在社交上感到尴尬。 这里有10项社交技巧可以改善您的职业。...
  16. 微信小程序下拉触底卡顿
  17. 计算机管理员无法关闭防火墙,Win10关闭防火墙提示:出于安全原因 某些设置由系统管理员管理的解决方法...
  18. Wifi对人体有没有危害?
  19. 使用STM32hal库usart的接收中断分析及出现部分问题的解决
  20. 十进制进制法_什么是十进制计数法

热门文章

  1. mysql rename table_Mysql: RENAME TABLE IF EXISTS
  2. vue获取元素距离页面顶部的距离_VUE实时监听元素距离顶部高度的操作
  3. l2的最优回归_大白话5分钟带你走进人工智能-第15节L1,L2几何解释和Ridge等回归...
  4. 3D游戏的照明设计理论,第3部分:三点照明法的异端与误区
  5. 对TypeScript进行研究
  6. C#调用存储过程的通用类
  7. Cocoapods pod update执行失败报错CocoaPods was not able to update the `master` repo.2019的解决...
  8. 20165223《Java程序设计》第八周Java学习总结
  9. 面向对象命名空间、组合
  10. 任何时候,写下一个类,一定要有三个函数