(三十五)函数的使用

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

  

posted @ 2018-08-02 10:53  狗尾草的博客  阅读(173)  评论(0编辑  收藏  举报