箭头函数写法
// 最普通写法
var f = v => v * v;
console.log(f(5))
//
let fun2 = () => "feij";
console.log(fun2());
//
let fun1 = a => a * a + 5
console.log(fun1(6));
//②当只有一个参数时,可以省略括号
let fun3 = x => x * x;
console.log(fun3(6));
// ③当有多个参数时,用括号把各个参数括起来。
let fun4 = (a, b) => a * b;
console.log(fun4(3, 5));
// 2.剩余参数与多行语句
// ①箭头函数与普通函数一样,也可以使用ES6的默认参数、剩余参数
let fun5 = (a, b, ...args) => args;
console.log(fun5(1, 2, 3, 4, 5, 6, 7))
// ②当语句不为单行,而是多行语句时,需要用{}把语句括起来,
// 若将单行语句用{}括起来,则会用undefined作为返回值,
// 而单行语句不使用{}时,执行结果即为返回值。
let fun6 = (a, b) => {
console.log(a);
console.log(b);
var aa = a * b;
// alert(aa)
return aa;
}
console.log(fun6(5, 8));
// 3.箭头函数内部没有constructor与prototype属性,不能被new
// 4.箭头函数内部的this被绑定为函数定义时的this,并且无法改变
// 如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。
let fun7 =(a,b)=>({
id:a,
name:b
})
console.log(fun7(3,5))
//
const fun8 = n => n % 2 == 0;
console.log(fun8(3))
//rest参数
const fun9 = (a,...nums) => nums;
console.log(fun9(1,2,3,4,5,6,7,8,9))
普通函数写法
// 最普通写法
var f = function (v) { return v * v; };
console.log(f(5));
//
var fun2 = function () { return "feij"; };
console.log(fun2());
//
var fun1 = function (a) { return a * a + 5; };
console.log(fun1(6));
//②当只有一个参数时,可以省略括号
var fun3 = function (x) { return x * x; };
console.log(fun3(6));
// ③当有多个参数时,用括号把各个参数括起来。
var fun4 = function (a, b) { return a * b; };
console.log(fun4(3, 5));
// 2.剩余参数与多行语句
// ①箭头函数与普通函数一样,也可以使用ES6的默认参数、剩余参数
var fun5 = function (a, b) {
var args = [];
for (var _i = 2; _i < arguments.length; _i++) {
args[_i - 2] = arguments[_i];
}
return args;
};
console.log(fun5(1, 2, 3, 4, 5, 6, 7));
// ②当语句不为单行,而是多行语句时,需要用{}把语句括起来,
// 若将单行语句用{}括起来,则会用undefined作为返回值,
// 而单行语句不使用{}时,执行结果即为返回值。
var fun6 = function (a, b) {
console.log(a);
console.log(b);
var aa = a * b;
// alert(aa)
return aa;
};
console.log(fun6(5, 8));
// 3.箭头函数内部没有constructor与prototype属性,不能被new
// 4.箭头函数内部的this被绑定为函数定义时的this,并且无法改变
// 如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。
var fun7 = function (a, b) { return ({
id: a,
name: b
}); };
console.log(fun7(3, 5));
//
var fun8 = function (n) { return n % 2 == 0; };
console.log(fun8(3));
//rest参数
var fun9 = function (a) {
var nums = [];
for (var _i = 1; _i < arguments.length; _i++) {
nums[_i - 1] = arguments[_i];
}
return nums;
};
console.log(fun9(1, 2, 3, 4, 5, 6, 7, 8, 9));
懒的排列,建议复制下来对比看