摘要: 递归 什么是递归 在程序中, 所谓的递归, 就是函数自己直接或间接的调用自己. 1. 直接调用自己 2. 间接调用自己 就递归而言最重要的就是跳出结构. 因为跳出了才可以有结果. 所谓的递归就是化归思想 递归的调用, 写递归函数, 最终还是要转换为自己这个函数. 假如有一个函数 f, 如果它是递归函 阅读全文
posted @ 2016-08-08 00:07 .john 阅读(2358) 评论(0) 推荐(0) 编辑
摘要: 闭包 闭包的含义就是闭合, 包起来. 简单的来说就是 一个具有封闭功能与 包裹功能的一个结构. 所谓的闭包就是, 有一个具有封闭的对外不公开的, 包裹结构, 或空间. 在 js 中函数可以构成闭包. 一般函数是一个代码结构的封闭结构, 即包裹的特性, 同时根据作用域规则, 只允许函数访问外部的数据, 阅读全文
posted @ 2016-08-07 01:35 .john 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 词法作用域 作用域 域表示的就是 范围, 即 作用范围. 就是一个名字在什么地方可以被使用, 什么时候不能使用. 块级作用域 即块级别的作用范围 在 js 中采用词法作用域 所谓的 词法( 代码 )作用域, 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行, 作用范围就已经确定好了 阅读全文
posted @ 2016-08-06 00:00 .john 阅读(2621) 评论(1) 推荐(3) 编辑
摘要: 变量名提升 1. 预解析的过程 2. 代码的执行过程 程序在执行过程, 会先将代码读取到内存中检查. 会将所有的声明在此时进行标记. 所谓的标记就是 让 js 解释器知道有这个名字, 后面在使用名字的时候, 不会出现未定义的错误. 这个标记过程就是提升. 声明: 1. 名字的声明, 标识符的声明( 阅读全文
posted @ 2016-08-05 23:50 .john 阅读(359) 评论(0) 推荐(0) 编辑