函数的使用,可以说有点基础的同学都会用,但是如何使用,才是函数真正的意义所在。用好了代码可读性,可维护性等都有很大提升,代码质量会很高。
-
箭头函数的使用
-
箭头函数不是没有this,而是它的this在定义之初就已确定,后续不再更改。
-
const func = function(a, b) { return a + b }
// 箭头函数版本
const funcA = (a, b) => a + b func(1,2) // 3
-
递归函数的使用
const func = function funcName(a, b) {
return a < 0 ? b : funcName(a+1-b, a)
}
func(431, 151) // 281
funcName(431, 151) // ReferenceError: funcName is not defined
console.log(func.name) // funcName
typeof funcName === 'function' // false
-
new Funciton
const func = new Function('a', 'b', 'return a + b')
func(1, 2) // 3
-
函数参数初始化
function func(a = 1, b = 2) { return a + b } func() // 3
-
call改变this指向
function foo() {
console.log(this.a);
}
let obj = { a: 2 };
foo.call(obj); // 2