你不知道的JavaScript中,读书笔记

七种内置类型

null, undefined, boolean, number, string, object, symbol

typeof null === ‘object‘ // true

null 是 typeof 是 object 的唯一的假值

typeof function 会返回 ‘function‘

使用 typeof x !== ‘undefined‘ 比直接判断 x 更加安全,因为不会引发 reference error

时间: 2024-12-15 05:47:57

你不知道的JavaScript中,读书笔记的相关文章

《你不知道的JavaScript》读书笔记(二)词法作用域

JavaScript 采用的是 词法作用域 的工作模型. 定义 词法化:大部分标准语言编译器的第一个工作阶段叫词法化(单词化),这个过程会对源代码中的字符进行检查,如果是有状态的解析过程,还会赋予单词意义. 词法作用域:定义在 词法阶段 的作用域. 词法作用域由谁决定:由你在写代码时将 变量 和 块作用域 写在哪里来决定.因此大部分情况下,词法分析器处理代码时会保持作用于不变. [例] function foo(a){ var b = a * 2; function bar(c){ consol

《你不知道的JavaScript》读书笔记(一)作用域

名词 引擎:从头到尾负责整个 JavaScript 程序的 编译 及 执行 过程. 编译器:负责 语法分析 及 代码生成. 作用域:负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限. LHS:赋值操作的左侧(理解为赋值操作的目标是谁,LHS 查询 试图找到变量的容器本身,并对其 赋值 ). RHS:赋值操作的右侧(理解为谁是赋值操作的源头,RHS 查询 就是 查找 某个变量的值). JavaScript 的编译 Java

你不知道的javascript 上卷 读书笔记

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> </body> <script type="text/javascript"> { let j; for(j=0;j<10;j

《编写可维护的javascript》读书笔记(中)——编程实践

上篇读书笔记系列之:<编写可维护的javascript>读书笔记(上) 上篇说的是编程风格,记录的都是最重要的点,不讲废话,写的比较简洁,而本篇将加入一些实例,因为那样比较容易说明问题. 二.编程实践 1.UI松耦合 第一.将css从javascript中抽离(要改变dom样式数据,应该去操作dom的class名而非dom的style属性,后续要修改此样式只需到对应的css文件中修改而不用修改js文件): 第二.将javascript从HTML中抽离,比如下面的写法是不好的 <!-- 不

《编写可维护的javascript》读书笔记(上)

最近在读<编写可维护的javascript>这本书,为了加深记忆,简单做个笔记,同时也让没有读过的同学有一个大概的了解. 一.编程风格 程序是写给人读的,所以一个团队的编程风格要保持一致. 1.缩进:一种是利用制表符缩进,一种是使用空格符缩进,各有利弊,任选一种,保持一致即可.个人比较喜欢制表符缩进. 2.语句结尾需要加上分号,避免没必要的BUG. 3.命名:首先要语义化,使用驼峰式命名法,小驼峰即首字母小写,之后每个单词首字母大写:大驼峰即首字母大写,之后同小驼峰:变量名前缀应该是名词(my

你不知道的javascript--上卷--读书笔记1

作用域是什么? 答:在<你不知道的javascript>书中提到,作用域就是根据名称查找变量的一套规则.古语有"无规矩不成方圆",但是没有方圆,规矩又给谁用?所以个人理解作用域就是"规矩"+"方圆".作用域是在创建的时候就确定的. 谁有作用域? 答:全局,函数. 为什么要有作用域? 答:前面已经说了,作用域是"规矩"+"方圆".作用域的最大用处就是隔离变量,不同作用域下同名变量不会有冲突.举个例

JavaScript设计模式:读书笔记(未完)

该篇随我读书的进度持续更新阅读书目:<JavaScript设计模式> 2016/3/30 2016/3/31 2016/3/30: 模式是一种可复用的解决方案,可用于解决软件设计中遇到的常见问题./将解决问题的方法制作成模板,并且这些模板可应用于多种不同的情况.有效模式的附加要求:适合性,实用性,适用性. 模式的优点: 防止局部问题引起大问题,模式让我们的代码更有组织性 模式通常是通用的解决方式,不管我们开发哪种应用程序,都可以用模式优化我们代码的结构 模式确实可以让我们避免代码复用,使代码更

JavaScript模式读书笔记 文章3章 文字和构造

1.对象字面量 -1.Javascript中所创建的自己定义对象在任务时候都是可变的.能够从一个空对象開始,依据须要添加函数.对象字面量模式能够使我们在创建对象的时候向其加入函数.       <script> //定义空对象 var dog = {}; //对空对象加入方法 dog.name = "Liubo"; //对对象添加方法 dog.getName = function(){ return dog.name; }; //改变属性和方法 dog.getName =

你不知道的JavaScript-上卷の读书笔记

本书主要从两个部分来进行阐述:作用域与闭包.this与对象原型. 一  作用域与闭包 1—  作用域 对JavaScript而言,大部分情况下编译发生在代码执行前的几微妙的时间内.在我们所讨论的作用域背后,JavaScript引擎为保证性能最佳做出了努力,如JIT,可以延迟编译或重编译. 引擎=>从头到尾负责整个JavaScript程序的编译及执行过程 编译器=>负责语法分析及代码生成等 作用域=>负责收集并维护由所有声明的标识符组成的一系列查询,并实施一套严格的规则,确定当前执行的代码

JavaScript模式读书笔记 第3章 字面量和构造函数

1,对象字面量 -1,Javascript中所创建的自定义对象在任务时候都是可变的.可以从一个空对象开始,根据需要增加函数.对象字面量模式可以使我们在创建对象的时候向其添加函数.       <script> //定义空对象 var dog = {}; //对空对象添加方法 dog.name = "Liubo"; //对对象增加方法 dog.getName = function(){ return dog.name; }; //改变属性和方法 dog.getName = f