第一章 JavaScript概述
1 JS是一门高端的、动态的、弱类型的编程语言,非常适合面向对象和函数式的编程风格。
 
第二章 词法结构
1 JS程序是用Unicode字符集编写的。
2 JS是区分大小写的,但是Html并不区分大小写。
3 JS会忽略程序中标识之间的空格,多数情况下,同样会忽略换行符。
4 回车符(\u000D)和换行符(\u000A)在一起被解析为一个单行结束符。
5 空格、换行符和格式控制符可以用在JS的注释、字符串直接量和正则表达式直接量中,但不能用在标识符中。
6 Unicode转义字符可以用在字符串直接量、正则表达式直接量和标识符中(关键字除外)。也可以出现在注释中,但由于JS会将注释忽略,只是被当成上下文中的ASCII字符处理。
7 注释的两种格式:
    a 双斜杠"//"后文本 
    b "/*"和"*/"包含文本
8 JS标识符必须以字母、下划线(_)或美元符号($)开始
9 可选的分号:如果一条语句以"("、"["、"/"、"+" 或 "-" 开始,那么它极有可能和前一条语句合在一起解析。在这些符号前加上";",会避免解析混淆。
10 如果当前语句和下一条语句无法合并解析,JS则在第一行后填补分号,这是通用规则。但是有两个例外:
    a 涉及return、break和continue语句场景中
    b 涉及"++"和"--"运算符语句场景中
 
第三章 类型、值和变量
1 数据类型:数字 字符串 布尔值 null undefined 和对象(object)
2 JS解释器有自己的内存管理机制,可以自动对内存进行垃圾回收。
3 JS中所有数字均用64位浮点数表示,然而需要注意的是,数组索引和位操作符是基于32位整数的。
4 ECMAScript标准不支持八进制直接量,但某些实现可以允许采用八进制形式表示整数。
5 JS中算数运算在溢出(overflow)、下溢(underflow)或被零整除时不会报错。
    a 下溢:当运算结果无限接近于零并比能表示的最小值还小的情形
6  二进制浮点数和四舍五入错误,未来版本或许会支持十进制数组类型来避免这些舍入问题。
    a 0.3 - 0.2 == 0.2 - 0.1 => false
7 const now = new Date, now.setDate(now.getDate() - 2); 取得两天之后的时间戳。
8 字符串的长度是其所含16位值的个数。
9 在ES5中,字符串直接量可以拆分成数行,每行必须以反斜线(\)结束,反斜线和行结束符都不算是字符串直接量的内容。
10 如果函数没有返回值,则返回undefined。
11 包装对象
    a var s = "test"; s.len = 4; var t = s.len; t的值是undefined
12 任何方法都无法更改一个原始值
13 类型转换图表
    
    a null == undefined // 两值被认为相等
    b 其他原始值(null没有转换为原始值的valueOf和toString方法,所以跟任何原始值比较都是false)比较,一般均会先转换为数字
14 单元运算符(+,-,!)
    a x + "" // 等价于String(x)
    b +x // 等价于 Number(x)
    c !!x // 等价于 Boolean(x)
15 Number对象的方法
    a toFixed() // 根据小数点后的指定位数将数字转换成字符串
    b toExponential() // 使用指数计数法将数字转换为指数形式的字符串
    c toPrecision() //根据指定的有效数字位数将数字转换成字符串
16 parseInt() 
    a 第一个参数是字符串,如果不是,将会调用toString()方法转为字符串
    b 第二个参数是radix,合法的取值范围是2~36,
    c 不能正确转换为数字,返回NaN
    d 如果radix参数是undefined、0或者不存在,radix根据第一个参数不同情况默认值不同
17 对象到原始值的转换,如果是没有目的的转换(指明转为数字或者字符串),一般会先调用valueOf(返回默认对象),然后调用toString(返回原始值)。
18 对于所有非日期的对象来说,对象到原始值的转换基本上是对象到数字的转换,日期对象则使用对象到字符串的转换模式。
19 函数作用域是指在函数内声明的所有变量在函数体内始终是可见的。
20 当定义一个函数时,它实际上保存一个作用域链。当调用这个函数时,它创建一个新的对象来存储它的局部变量,并将这个对象添加至保存的那个作用域链上,同时创建一个新的更长的表示函数调用作用域的链。闭包的不同就在于,作用域链是以对象的形式串联起来的,跟c语言变量存在栈中,有着本质的区别,函数结束后会释放。
  

JS权威指南读书笔记(一)的更多相关文章

  1. JS权威指南读书笔记(七)

    第十七章 事件处理 1 客户端JS程序采用了异步事件驱动编程模型. 2 关于事件的重要定义     a 事件类型(event type)     b 事件目标(event target) target ...

  2. JS权威指南读书笔记(六)

    第十五章 脚本化文档   1 文档对象模型(DOM)是表示和操作HTML和XML文档内容的基础API. 2 文档节点的部分层次结构 Text和CDATASection都是characterData的子 ...

  3. JS权威指南读书笔记(五)

    第十三章 Web浏览器中的JavaScript 1 在Html文档中嵌入客户端4种JS代码方法     a 内联方式,放置在<script>标签之间     b 放置在<script ...

  4. JS权威指南读书笔记(三)

    第七章 数组 1 数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快的多. 2 数组直接量的语法允许有可选的结尾的逗号,故[ ; ; ]只有两个元素而非三个. 3 调用构 ...

  5. JS权威指南读书笔记(二)

    第四章 表达式和运算符 1 new调用构造函数的过程     a 创建一个新的空对象     b 设置空对象的_proto_指向构造函数原型prototype     c 将这个新对象当做this的值 ...

  6. JS权威指南读书笔记(四)

    第十章 正则表达式 1 正则表达式直接量定义为包含在一对斜杠(/)之间的字符     a /s$/ == new RegExp("s$") 2 直接量字符:所有字母和数字都是按照字 ...

  7. HTTP权威指南读书笔记

    HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...

  8. css权威指南读书笔记

    今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...

  9. 经典的性能优化最佳实践 web性能权威指南 读书笔记

    web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...

随机推荐

  1. Python3基础 函数 参数 多个参数都有缺省值,需要指定参数进行赋值

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  2. libfacedetection

    libfacedetection测试 #include <stdio.h> #include <opencv2/opencv.hpp> #include <facedet ...

  3. Docker容器(五)——Docker静态化IP

    (1).Docker的四种网络模式 Docker有以下四种模式,通过--net=[参数]选项(现在也可以使用--network [参数])指定: host模式:使用宿主机的IP地址和端口.使用--ne ...

  4. NETTY 心跳机制

    最近工作比较忙,但闲暇之余还是看了阿里的冯家春(fengjiachun)的github上的开源代码Jupiter,写的RPC框架让我感叹人外有人,废话不多说,下面的代码全部截取自Jupiter,写了一 ...

  5. 【C/C++开发】值得学习的C语言开源项目

    值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...

  6. 最新 医渡云java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.医渡云等10家互联网公司的校招Offer,因为某些自身原因最终选择了医渡云.6.7月主要是做系统复习.项目复盘.LeetCo ...

  7. Dotmemory 内存分析工具的操作手册

    教程一.开始学习dotmemory 在本教程中,我们将学习如何运行dotMemory内存快照.此外,我们将简要地看看dotMemory的用户界面和基本分析的概念.考虑dotMemory本教程作为起点 ...

  8. linux CentOS7 安装字体库-转

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体库 ...

  9. 任务调度Quartz.Net之Windows Service

    这个应该是关于Quartz.Net使用的最后一篇文章了,之前的介绍都是基于Web的,这种实现任务调度的方式很少见,因为不管是MVC.WebApi还是WebService,它们都需要寄宿在IIS上运行, ...

  10. MySQL(八)事务的隔离级别

    一.事务的并发问题 1.脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 2.不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并 ...