JavaScript中函数定义的三种方式

在js中函数是一个复杂数据类型,函数的定义也大致可以三种类型:声明型、赋值型new关键字

 第一种:声明型

语法:
function  functionName(arg0, arg1 ,..., argN){

      statements

  }

  函数的调用:functionName()
 例子:
function foo(){
    console.log('这是一个函数的打印结果')
}

在上面中“ function ”是关键字,“foo ”是函数名。

如果我们想调用这个函数,我们所要做的就是写下它的名字,然后加上括号,如foo()

函数可以接受参数。如果我们的数据是动态的,我们可以向函数传递多个参数。

 第二种:赋值型

语法:
var  variable = function(arg0, arg1 ,..., argN){

    statements

   }

  console.log(typeof  variable);     //function

  函数调用:variable();
 例子:
let foo = function(){
          console.log(`这是一个函数表达式的打印`) 
}

等号后面实质上是一个没有任何函数名的匿名函数。并且通过声明一个变量通过赋值来执行它。

延伸:

匿名函数其实还有一种形式,那就是箭头函数。

注意事项:

赋值型必须是先定义再调用,不然会出现问题。相比声明型,声明型可以先调用后定义,因为js文件再预解析的时候会把函数声明自动提升到文件的最前面。

()=>console.log(`这是一个箭头函数的打印`) 

 第三种:new关键字

语法:
let funcName= new Function("arg1","arg2","arg3","arg4","arg5",......,"函数体")

函数的调用:funcName()
 例子:
let sum =new Function("a","b","return a+b");

console.log(sum(5,6))

这种是使用带有new关键字的Function构造函数。

此构造函数可以传递任意数量的参数。在这个例子,我们向它传递了 2 个参数,即“ a ”和“ b ”。

最后一个参数是应该传递函数应该执行的指令的代码。也就是我们要执行的函数体。

哪种方式最好?

这个问题是没有答案,因为一切都取决于代码的编写需求和功能需求。

所以你可以使用任何你想要的方法或函数类型,它们都会生成相同的效果。

因此,你可以根据你的个人喜好,随意选择你喜欢的任何一种。但是,我建议尽可能坚持使用箭头函数类型,因为它提供更好的性能和可读性。当时他也是有缺点的就是在我们使用时要注意他的this指向问题。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦油坑中挣扎的巨兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值