Ashun's 技術駅 Ashun's 技術駅
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ashun

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 01变量-es6
  • 02常量-es6
  • 03解构赋值-es6
  • 04字符串拓展-es6
  • 05数字拓展-es6
  • 06数组拓展-es6
  • 07函数拓展-es6
    • 箭头函数
      • 1、单行的时候可以不加大括号
      • 2、单行使用的时候可以直接返回值,不需要加return
      • 3、无参数写法
      • 4、绑定this指针
      • 5、无法当成构造函数使用
      • 6、箭头函数没有arguments
  • 08对象拓展-es6
  • 09类拓展-es6
  • 10扩展运算符-es6
  • 11set数据结构-es6
  • 12map数据结构-es6
  • 13同步和异步-es6
  • 《es6》
ashun
2022-02-14
目录

07函数拓展-es6

# 函数拓展

//形参默认值
function fn(a=1){
  console.log(a)
}
fn(2)

///与解构赋值一起用
function fn({name}){
  console.log(name)
}
fn({name:"小明"})

//和扩展预算符一起使用
function fn(a,...b){
  console.log(a)//1
  console.log(b)//[2, 3, 4, 5]
}
fn(1,2,3,4,5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

%accordion% 练习 %accordion%

//形参默认值
function fn(a,b=1){
  console.log(a+b)
}
fn(1) //2
1
2
3
4
5

%/accordion%

# 箭头函数

# 1、单行的时候可以不加大括号

let fn = ()=> console.log("hello world")
console.log()
1
2

# 2、单行使用的时候可以直接返回值,不需要加return

let fn = ()=> "hello world"
console.log(fn())
1
2

# 3、无参数写法

//没有参数的时候可以使用括号也可以使用下划线
let fn = _ => "hello world"
console.log(fn())
1
2
3

%accordion% 练习 %accordion%

//有参数
let fn = () => 1
console.log(fn()); //1

// 无参数
let fn = _ => 1
console.log(fn());//1
1
2
3
4
5
6
7

%/accordion%

# 4、绑定this指针

//使用箭头函数的时候,无法修改this指针
function fn(){
  console.log(this)//obj
}
let fn = ()=>{
  console.log(this)//window
}

let obj = {
  name:"小明"
}

fn.call(obj)
1
2
3
4
5
6
7
8
9
10
11
12
13

%accordion% 练习 %accordion%

let obj = { name: "张三" }
function fn() {
    console.log(this);
}
fn.call(obj)//{name: "张三"}


let obj = { name: "张三" }
let fn = () => {
    console.log(this);
    //Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
}
fn.call(obj)
1
2
3
4
5
6
7
8
9
10
11
12
13

%/accordion%

# 5、无法当成构造函数使用

let Person = ()=>{

}
new Person()//报错
1
2
3
4

# 6、箭头函数没有arguments

let Person = ()=>{
  console.log(arguments)//报错
}
Person()
1
2
3
4

%accordion% 练习 %accordion%

// 错误法
let fn = (name) => {
    this.name = name
}
let f = new fn("张三")
console.log(f);


let fn = () => {
    console.log(arguments);
}
fn(1, 2, 3)
1
2
3
4
5
6
7
8
9
10
11
12

%/accordion%

编辑 (opens new window)
上次更新: 2022/04/24, 13:33:34
06数组拓展-es6
08对象拓展-es6

← 06数组拓展-es6 08对象拓展-es6→

最近更新
01
课件-react路由-V6
01-22
02
课件-国际化
01-22
03
课件-redux-toolkit
01-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式