js箭头函数和普通函数的区别


本文摘自PHP中文网,作者藏色散人,侵删。

本篇文章主要给大家介绍javascript箭头函数和普通函数的区别,希望对需要的朋友有所帮助!

箭头函数――ES6中引入的一个新特性――支持用JavaScript编写简洁的函数。虽然普通函数和箭头函数的工作方式相似,但是它们之间有一些有趣的区别,如下所述。

语法

普通函数的语法:

1

2

3

let x = function function_name(parameters){

   // 函数体

};

普通函数的例子:

1

2

3

4

let square = function(x){

  return (x*x);

};

console.log(sqaure(9));

输出:

4110ee3b0d87992e67478d685c122ac.png

箭头函数的语法:

1

2

3

let x = (parameters) => {

    // 函数体

};

箭头函数的例子:

1

2

3

4

var square = (x) => {

    return (x*x);

};

console.log(square(9));

输出:

9ddf304c3c02a099dc9e13fd4b6de11.png

使用this关键字

与普通函数不同,箭头函数没有自己的this。

例如:

1

2

3

4

5

6

7

8

9

10

11

let user = {

    name: "GFG",

    gfg1:() => {

        console.log("hello " + this.name);

    },

    gfg2(){       

        console.log("Welcome to " + this.name);

    }  

 };

user.gfg1();

user.gfg2();

输出:

eb5921d567199f28ed1da722540e8cc.png

arguments对象的可用性

arguments对象在箭头函数中不可用,但在普通函数中可用。

普通函数的例子:

1

2

3

4

5

6

let user = {      

    show(){

        console.log(arguments);

    }

};

user.show(1, 2, 3);

输出:

ab6c1bd607f616f297937c97a18633b.png

箭头函数的例子:

1

2

3

4

5

6

let user = {     

        show_ar : () => {

        console.log(...arguments);

    }

};

user.show_ar(1, 2, 3);

输出:

740c591e426e8894f09cddbe4143803.png

使用new关键字

使用函数声明或表达式创建的普通函数是“可构造的”和“可调用的”。由于普通函数是可构造的,因此可以使用'new'关键字调用它们。但是,箭头函数只是“可调用”而不是可构造的。因此,在尝试使用new关键字构造不可构造的箭头函数时,我们将得到一个运行时错误。

普通函数的例子:

1

2

3

4

let x = function(){

    console.log(arguments);

};

new x =(1,2,3);

输出:

62ac04d47ec237737d5e0230f41e309.png

箭头函数的例子:

1

2

3

4

let x = ()=> {

    console.log(arguments);

};

new x(1,2,3);

输出:

99d45296ca4bcac4b60f271b3361e77.png

相关推荐:《javascript教程》

以上就是js箭头函数和普通函数的区别的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

js中的箭头函数和普通函数有什么区别

js箭头函数和普通函数的区别

js中箭头函数和普通函数的区别是什么

更多相关阅读请进入《js箭头函数》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...