当前位置:   article > 正文

箭头函数()=>{}与function的区别_(() => {

(() => {

1.箭头函数与function定义函数的写法:

  1. //function
  2. function fn(a, b){
  3. return a + b;
  4. }
  5. //arrow function
  6. var foo = (a, b)=>{ return a + b };

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

  1. //使用function定义的函数
  2. function foo(){
  3. console.log(this);
  4. }
  5. var obj = { aa: foo };
  6. foo(); //Window
  7. obj.aa() //obj { aa: foo }

 

  1. //使用箭头函数定义函数
  2. var foo = () => { console.log(this) };
  3. var obj = { aa:foo };
  4. foo(); //Window
  5. obj.aa(); //Window

 3.变量提升

由于js的内存机制,function的级别最高,而用箭头函数定义函数的时候,需要var(let const定义的时候更不必说)关键词,而var所定义的变量不能得到变量提升,故箭头函数一定要定义于调用之前

本文转载:https://blog.csdn.net/github_38851471/article/details/79446722

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/115771
推荐阅读
相关标签
  

闽ICP备14008679号