第一部分 起步上路 第1章 深入编程 1.1 代码 1.2 表达式 1.3 实践 1.3.1 输出 1.3.2 输入 1.4 运算符 1.5 值与类型 1.6 代码注释 1.7 变量 1.8 块 1.9 条件判断 1.10 循环 1.11 函数 1.12 实践 1.13 小结 第2章 深入JavaScript 2.1 值与类型 2.1.1 对象 2.1.2 内置类型方法 2.1.3 值的比较 2.2 变量 2.3 条件判断 2.4 严格模式 2.5 作为值的函数 2.5.1 立即调用函数表达式…
第一部分 作用域和闭包 第1章 作用域是什么 (已看) 1.1 编译原理 1.2 理解作用域 1.2.1 演员表 1.2.2 对话 1.2.3 编译器有话说 1.2.4 引擎和作用域的对话 1.2.5 小测验 1.3 作用域嵌套 1.4 异常 1.5 小结 第2章 词法作用域  (已看) 2.1 词法阶段 2.2 欺骗词法 2.2.1 eval 2.2.2 with 2.2.3 性能 2.3 小结 第3章 函数作用域和块作用域 (已看) 3.1 函数中的作用域 3.2 隐藏内部实现 3.3 函数…
1. [1, 2, 3] == [1, 2, 3] 返回false [1, 2, 3] == “1, 2, 3” 返回true 2. 如果 < 比较的两个值都是字符串, 就像在b < c中那样,那么比较按照字典顺序(即字典中的字母表顺序)进行.如果其中 一边或两边都不是字符串,就像在a < b中那样,那么这两个值的类型都转换为数字,然 后进行普通的数字比较. 3. var a = 42, b = “foo”; a < b, a > b, a==b  全部返回false,因为f…
阿喀琉斯之踵 学习编程最好的办法就是编写代码 比较 隐式类型转换 数字和字符串 比较 字符串会隐式转换为数字,再进行比较 == 类型转换 ecma…
本系列的作者是Kyle Simpson,上卷译者赵望野.梁杰,中卷译者单业,下卷译者单业.姜南. 我个人觉得第一卷是本系列最好的(必读),而第二卷虽然也讲解了很多知识点,但是对于异步和性能的那部分提及了信任问题上,我不敢苟同,毕竟开源的大环境下,林子大了什么鸟都有,不能因为一两个问题而对所有的开源项目都抱以怀疑,而Promise如文中介绍的一样,真正上手后真的会爱不释手,配合async.await一起使用以及一些新的语法,可以节省不少代码,易用程度不亚于那些流行的异步框架(关键还是在于真正去用,…
近几天看了一本不错的 JavaScript 的书,是 Kyle Simpson 写的 <You Don't know JS>.这本书是 Kyle Simpson 在 Github 上的开源项目,截止到现在已经有 27,796 个 star .本想看英文版本,不料在某东上看到了中文版,于是乎就买下了.结果,翻译得还不错,推荐. 原著github地址 ,某东链接自行搜索呵呵. 这本书属于JavaScript开发者的进阶读物,原著至今为止已经出了6本,中文版(上卷)涵盖了其中的两本,介绍了4个知识点…
你不知道的JavaScript上卷笔记 前言 You don't know JavaScript是github上一个系列文章   初看到这一标题的时候,感觉怎么老外也搞标题党,用这种冲突性比较强的题目吸引眼球,以致最初真没去看内容.直到出了中文版<你不知道的JavaScript>,一看评价大家都说好,买来一读,内容果然很好,很多地方,让我这个半路转行JavaScript的人豁然开朗.中文版现在出了上卷,中卷应该很快会推出,下卷就要等久一点了 作用域和闭包 作用域是什么 1.现代JavaScri…
第一部分: 作用域和闭包 一.作用域 1. 作用域:存储变量并且查找变量的规则 2. 源代码在执行之前(编译)会经历三个步骤: 分词/此法分析:将代码字符串分解成有意义的代码块(词法单元) 解析/语法分析:将词法单元流转换成抽象语法树(AST) 代码生成:将抽象语法树转换成可执行代码 3. LHS查询: 变量出现在赋值操作左侧, RHS查询: 变量出现在赋值操作右侧 4. 作用域嵌套:在当前作用域中无法找到某个变量的时候,引擎就会在外层的嵌套作用域中继续查找,直到找到该变量,或抵达最外层的作用域…
最近在读一本进阶的JavaScript的书<你不知道的JavaScript(上卷)>,这次研究了一下“this”. 当一个函数被调用时,会创建一个活动记录(执行上下文). 这个记录会包含函数在哪里被调用(调用栈).函数的调用方法.传入的参数等信息. this就是记录的其中一个属性,会在函数执行的过程中用到. this既不指向函数自身也不指向函数的作用域. this实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用. 一.调用位置 调用位置就在当前正在执行的函数的前一个调用中…
最近在读一本进阶的JavaScript的书<你不知道的JavaScript(上卷)>,里面分析了很多基础性的概念. 可以更全面深入的理解JavaScript深层面的知识点. 一.函数作用域 1)函数作用域 就是作用域在一个“Function”里,属于这个函数的全部变量都可以在整个函数的范围内使用及复用. function foo(a) { var b = 2; function bar() { // ... } var c = 3; } bar(); // 失败 console.log( a,…