函数的使用,可以说有点基础的同学都会用,但是如何使用,才是函数真正的意义所在。用好了代码可读性,可维护性等都有很大提升,代码质量会很高。
-
箭头函数的使用
-
箭头函数不是没有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