JS函数

如何声明一个函数

JavaScript有五种方法声明一个函数

1. function命令

function声明的代码区块,就是一个函数。function后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。

function f(x,y){
    return x+y
}
复制代码

2,3. 函数表达式

除了function命令声明函数,还可以采用变量赋值的方法

变量赋值声明函数,有两种方法,一种是匿名函数赋值,一种是具名函数赋值。
(1)匿名函数赋值

var a = function(x,y){
    return x+y
}
复制代码

这种写法将一个匿名函数赋值给一个变量。这是,这个匿名函数又称函数表达式,因为赋值语句的右侧只能放表达式。

(2)具名函数赋值

采用函数表达式声明函数时,function命令后面不带有函数名。如果加上函数名,该函数名只在函数体内部有效,在函数体外部无效。

var a = function b(x,y){
    return x+y
}
复制代码

上面代码在函数表达式中加入了函数名b,这个b只能在函数体内部使用,其他地方都不可用。
这种写法的用处有两个:

  • 可以在函数体内部调用自身
  • 方便除错。除错工具显示函数调用栈时,将显示函数名,而不再显示这里是一个匿名函数。

4. Function 构造函数

var a = new Function('x','y','return x+y')
复制代码
  • 上面代码中,Function构造函数接受三个参数,除了最后一个参数是a函数的函数体,其他参数都是a函数的参数。
  • 你可以传递任意数量的参数给Function构造函数,只有最后一个参数会被当成函数体,如果只有一个参数,该参数就是函数体。
  • Funciton构造函数可以不使用new命令,返回结果完全一样。

5. 箭头函数

箭头函数其实就是函数表达式方法中,匿名函数赋值的省略版本。

var f = (x,y) => {
    return x+y
}
// 等于
var f = function(x,y){
    return x+y
}
复制代码

如果箭头函数的代码块部分只有一句,则可以省略return和大括号。注意,必须同时省略。

var f = (x,y) => x+y
复制代码

如果箭头函数的参数只有一个,则可以省略圆括号。

var f = x => x*x
复制代码

函数的name属性

函数的name属性返回函数的名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值