递归和this指向

什么是递归?

   函数内部调用函数自己

  递归的本质是栈

递归的作用?  

  1,遍历DOM树,实现阶乘

  2,在不确定数据的深度情况用递归

递归注意事项?

  1,一定要有结束条件不然会造成死循环

  2,arguments.callee指向正在执行的函数的指针,用他可以实现函数的递归调

递归的好处?

  1,代码简洁

  2,可读性好

递归的坏处?

  1,递归算法效率低,在递归调用过程中,系统会为每一层的返回点,局部量等开辟了栈来存储

  2,次数过多容易造成栈溢出

关于this指向(call、apply、bind)?

  相同:都是改变this指向,第一个参数都是this要指向的对象

  call(this要指向的对象,...目标函数的参数)

  apply(this要指向的对象,[...目标函数的参数])

  bind(this要指向的对象,...目标函数的参数)() //  创建一个新的函数必须手动调用

原文地址:https://www.cnblogs.com/xiaohaha668/p/12774573.html