
《你不知道的JavaScript》读书笔记
文章平均质量分 79
为了能对前端知识有更深一步的认识,最近在读比较受推荐的一本书--《你不知道的JavaScript》,读的过程中就顺便把自己的理解和感悟以笔记的形式记录下来,一方面加深对书中要点的理解,二来也可以分享给广大网友一起交流学习,如果您能从中受益,也将是我莫大的欣慰。
hlj184
这个作者很懒,什么都没留下…
展开
-
《你不知道的javascript》之词法作用域
首先要弄清楚什么作用域?作用域其实就是一套规则,用来存储和查找程序中的变量。这套规则可以管理引擎在当前作用域以及嵌套的子作用域中根据标识符来查找变量。要理解词法作用域,首先要知道什么是词法。词法化是大部分标准语音编译器的第一个工作阶段,主要对源代码中的字符进行检查,然后将其分解成有意义的代码块。而词法作用域就是定义在词法化阶段的作用域。当你写下块作用域和变量时,已经决定了词法作用域就在那里...原创 2018-12-28 14:31:50 · 177 阅读 · 0 评论 -
《你不知道的javascript》之函数作用域和块作用域
函数作用域对于JavaScript中的函数,我们通常是这样使用的首先声明一个函数 function foo(){..}然后在某个地方调用它foo()但是你有没有想过这个过程的缺点?第一、我们定义的函数名foo会“污染”其所在的作用域,什么意思呢?比如foo是在全局环境中定义的,那么你就强行给全局作用域添加了一个叫foo的函数,其他人也用这个foo的话就会造成冲突,所以理...原创 2018-12-28 14:36:41 · 153 阅读 · 0 评论 -
《你不知道的JavaScript》之提升
背景 通常情况下,我们会认为代码的执行是按照你书写的顺序来的,实际是这样的吗?首先看下面这段代码。 a = 2; var a; console.log(a);上述代码,你觉得打印出的结果是什么呢?可能很多人觉得是undefined,因为 a = 2 之后,a重新被赋值了,并且默认的赋值为undefined,可是实际的打印结果却是 2 。...原创 2018-12-28 14:38:49 · 191 阅读 · 0 评论 -
《你不知道的JavaScript》之作用域闭包
闭包说到作用域闭包,我想很多同学都知道,但是让你讲讲其原理以及应用场景,也许又不知从何说起。其实作用域闭包无处不在,只是你自己没意识到。简单来说,函数能够记住并可以访问所在的词法作用域时,便产生了闭包。看过<<JavaScript 高级程序设计>>的同学也可能会这样说,闭包就是定义在函数里的函数喽。其实这两种解释是一个意思,为什么这么说呢,我们先来看段代码f...原创 2018-12-29 15:06:53 · 242 阅读 · 0 评论 -
《你不知道的JavaScript》之this与绑定规则
前奏读完书中的“关于this”这一章,发现其实作者有点啰嗦的感觉了。他并没有直接讲this到底是什么,只是列举了很容易用错this的例子,遗憾的是,我发现当中貌似有个错误的地方,看下面这段代码function foo(){ var a = 2; this.bar();}function bar(){ console.log(this.a);}foo();...原创 2018-12-28 14:43:17 · 185 阅读 · 0 评论 -
《你不知道的JavaScript》之对象二
接下来继续讨论对象的主要内容一、属性描述符对于对象中的属性,我们一般都是直接调用,但是属性本身又有什么特性呢,该怎么去描述?属性描述符就扮演了这样一种角色。属性描述符是在ES5以后才有的,看下面的代码。 var myobjec = { a:2, }; var descriptor = Object.getOwnPropertyDescript...原创 2018-12-28 14:46:20 · 241 阅读 · 0 评论 -
《你不知道的JavaScript》之对象
语法对象对于我们来说已经十分熟悉,比如常说的面向对象编程,在业务开发中尽量使用对象化逻辑等等,那么JavaScript中的对象有着怎样的属性特点呢?接下来我们来一起学习和讨论一下:js中对象的常见创建方式有两种:字面量和构造形式字面量:这种方法因为表格直观、添加字段比较灵活,所以经常会用这种方法。var myobj = { name:value, ......原创 2018-12-28 14:45:39 · 273 阅读 · 0 评论 -
《你不知道的JavaScript》之类的基本概念
类讲到类,有其它编程语言经验的同学应该是非常熟悉了。类是面向对象编程中的一个重要概念,它是对事物的一种抽象,实例化是对抽象的具体化操作。类与类之间可以有继承关系,也就是我们常说的父类和子类。在继承的过程中又存在多态性这个概念,基类的方法可以在子类中有不同的表现行为。我上面讲到的实例化、继承和多态性都是类中最基本、也是最具代表性的概念了。那么我们会问道:JavaScript中存在类吗?其...原创 2018-12-28 14:47:03 · 254 阅读 · 0 评论