作用域
全局作用域 && 局部作用域
- 全局作用域 就是在script标签内的都可以调用的变量
- 局部变量 就是在函数内部声明的变量 其只作用于函数内部
作用域链
- 访问规则
- 假如当前 作用域内没有要访问的变量 则会向父级作用域查找 若没有 则继续向上查找 直到全局作用域没有 则会报错 也就是undefined
- 赋值规则
- 赋值 假如当前作用域没有要被赋值的变量是 同理 向上查找 直到全局作用域没有 则会在全局作用域声明并赋值
递归函数
写一个简单的递归
- 求100的阶乘
-
function Jc (a) { if (a == 1){ return 1 } return a * JC(a - 1) }
-
递归实际上是算法 程序调用自身称为递归
-
将问题分为规模更小的相同问题
-
持续分解,直到问题规模小到可以用非常简单直接的方式来解决 //需要在问题可以解决的时候返回 然后结束递归 否则就是死递归 类似死循环
-
递归问题的分解方式非常独特,其算法方面的明显特 征就是:在算法流程中调用自身。递归为我们提供了一种对复杂问题的优雅解决方案,精妙的递归算法常会出奇简单,令人赞叹。
-