箭头函数表达式的语法比普通函数表达式更简洁。
(1)编写箭头函数
① ():参数
② =>:箭头
③ { }:函数的执行体
例:
(参数1, 参数2, …, 参数N) => { 函数声明 }
(参数1, 参数2, …, 参数N) => 表达式(单一)
(参数1, 参数2, …, 参数N) =>{ return 表达式; }
(2)
老版本写法: ** ES6 箭头函数写法**
var x = function(x, y) { const x = (x, y) => { return x * y };
return x * y;
}
特殊点:1、只有一个形参时,箭头函数可省略()
2、当执行代码只有一句话时,可省略{},并且自动return这句话的结果
3、箭头函数没有arguments
4、箭头函数不能绑定this
高阶函数在使用时也可传入箭头函数,箭头函数的ES6语法中队函数表达式的简写,不能用于声明式函数。
javascript中声明函数的方法有两种:函数声明式和函数表达式
区别
1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的。(函数声明整体会被提升到当前作用域的顶部,函数表达式也提升到顶部但是只有其变量名提升)
2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用。
3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他的函数中,但是它们不能出现在循环,条件或者try/catch/finally
中,而函数表达式可以在任何地方声明。换句话说,函数声明不是一个完整的语句,所以不能出现在if-else,for循环,finally,try catch语句以及with语句
中。
定义
下面分别用两种方法定义函数:
//函数声明式
function greeting(){
console.log("hello world");
}
//函数表达式
var greeting = function(){
console.log("hello world");
}