1.箭头函数与function定义函数的写法不同
//function
function fn(a, b){return a + b;
}
//arrow function
var foo = (a, b)=>{ return a + b };
2.this的指向不同

使用function定义的函数,this的指向随着调用环境的变化而变化的,而箭头函数中的this指向是固定不变的,一直指向的是定义函数的环境。

//function定义的函数
function fucA() {console.log(this);
}
var objA = { aa: fucA };
fucA(); //Window
objA.aa() //objA { aa: fucA }console.log('=============')
//箭头函数定义的函数
let fucB= ()=>{ console.log(this)}
var objB = { aa: fucB };
fucB();//Window
objB.aa()//Windowconsole.log('=============')
//函数表达式
let fucC=function () {console.log(this);
}
var objC = { aa: fucC };
fucC(); //Window
objC.aa() //objC { aa: fucC }

3.普通函数可以作为构造函数,箭头函数不可以作为构造函数,不能new
function Person(name, age) {this.name = name;this.age = age;
}
let admin = new Person("恩诺小弦", 18);
console.log(admin.name);
console.log(admin.age);let Student=(name,age)=>{this.name=name;this.age=age;
}
let stu = new Student("学生", 10);
console.log(stu.name);
console.log(stu.age);

4.普通函数可以使用arguments参数和args参数,箭头函数不能使用arguments参数,可以使用args参数(结合三点运算符使用)
function person(...args){console.log('普通函数')console.log('args========>',args)console.log('arguments======>',arguments)
}
person(1,2,3,4,5,6)let student=(...args)=>{console.log('箭头函数')console.log('args========>',args)console.log('arguments======>',arguments)
}
student(1,2,3,4,5,6)

输出结果

5.普通函数可以是匿名函数或者具体名函数,箭头函数只能是匿名函数(赋值给变量)

箭头函数与function的区别相关推荐

  1. ES6---箭头函数()={} 与function的区别(转载)

    1.箭头函数与function定义函数的写法: //function function fn(a, b){return a + b; } //arrow function var foo = (a, ...

  2. JavaScript 箭头函数与function函数区别

    结合以下注释理解代码,有空再分步骤讲解 // 执行正常 function 方法名() 会直接将函数提升到顶部所以此步成功 normalFun(2); // 执行失败 因var会将arrowFun变量提 ...

  3. ES6箭头函数中的this指向

    1箭头函数中的this (1)箭头函数中没有this : 这意味着 call() apply() bind() 无法修改箭头函数中的this (2)箭头函数中的this指向 :访问上一个作用域的thi ...

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

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

  5. 箭头函数中的this的使用

    什么时候使用箭头函数 问题: 箭头函数中的this是如何查找的了? 答案: 向外层作用域中, 一层层查找this, 直到有this的定义. <!DOCTYPE html> <html ...

  6. 九、ES6的箭头函数

    一.箭头函数的基本使用 <!DOCTYPE html> <html lang="en"> <head><meta charset=&quo ...

  7. JavaScript 箭头函数

    文章目录 箭头函数语法 示例 1:无参数的箭头函数 示例 2:带一个参数的箭头函数 示例 3:作为表达式的箭头函数 示例 4:多行箭头函数 this 与箭头函数 在常规函数中 在箭头函数中 参数绑定 ...

  8. 10分钟理解ES6箭头函数

    前言 面试中,ES6 是一大考点,当被问到箭头函数时,我们都会说:箭头函数很好用,而且再也不用操心 this 的指向了. 面试官:箭头函数是挺好用的,那有哪些不适合使用箭头函数的场景呢? 箭头函数在大 ...

  9. JavaScript箭头函数(Arrow Function)

    2019独角兽企业重金招聘Python工程师标准>>> ES6标准新增了一种新的函数:Arrow Function(箭头函数). 更简洁的语法 我们先来按常规语法定义函数: func ...

最新文章

  1. 2.2.5 Adam优化算法
  2. [THUPC2019]不等式/[51Nod1598]方程最小值
  3. PriorityQueue和queue的区别
  4. SELINUX导致的SSH密匙无法创建和访问的问题
  5. ajax 局部页面替换innerhtml,ajax jquery 页面局部刷新的不同实现代码
  6. Java并发之volatile
  7. 计算机鼠标介绍教学反思,《玩转鼠标》教学反思
  8. NYOJ 289 苹果(01背包)
  9. Hadoop背景、模块介绍、架构
  10. 深入理解分布式系统原理与设计
  11. Android ListView选中项居中放大(使用上下键控制,非触屏)
  12. cmake导入so库_(转)HelloWorld CMake CMake中构建静态库与动态库及其使用
  13. 实战 Nginx 与 PHP(FastCGI)的安装、配置与优化
  14. 从极速号码魔方软件中获取手机号码的城市号段归属地数据
  15. 美团搜索多业务商品排序探索与实践
  16. Xilinx 7系列FPGA DDR3硬件设计规则
  17. 最新最全省级面板数据(1997-2020)
  18. avalonia 控件TextBox 及其他控件文本改变事件
  19. DC基础学习(四)综合优化的三个阶段
  20. CUDA以及NVCC编译流程

热门文章

  1. 测试用例设计思路参考
  2. 计算机系统英语作文结尾万能句子,英语作文万能句子:结尾时作总结的10个万能句...
  3. 随机过程(下):Markov Jump与Kolmogorov equation
  4. android snapshot作用,Heap Snapshot工具
  5. sklearn学习-朴素贝叶斯
  6. 数据库模式(三级模式+两级映射)
  7. python学习(第三节课)
  8. (iOS)苹果抓包配置教程 (一)
  9. bison rule useless in grammar
  10. redis的内存参数详解及线上问题解决思路