读书笔记 —《JavaScript权威指南》
来源:互联网 发布:基本编程 编辑:程序博客网 时间:2024/06/05 08:17
读书笔记系列 — 《JavaScript权威指南》
传说中的犀牛书,虽然后300页是参照本但真是超厚的硬货!不少人评论就是一本字典~ 我买的是第六版,内容都是JS基础知识,因为出版日期较早所以大多参照ES3/ES5标准。会在这儿记录下自己关注的一些知识点和总结。
第2章 词法结构
- js程序是用Unicode字符集编写的,Unicode使ASCII和Latin-1的超集,并支持地球上几乎所有在用的语言;
- js大小写敏感,变量名支持以字母、_、$开头;
- 分号自动填补规则:
var a=3=>var a = 3;var y = x+f(a+b).toString()=>var y = x+f(a+b).toString();returntrue=>return; true;x++y=>x; ++y;
第3章 类型、值和变量
- js数据类型分两类:原始类型、对象类型;
- 原始类型:数字、字符串、布尔值、null、undefined;
- 如果通过new一个函数来初始化对象,这个函数被称为构造函数,被new出来的对象组成的集合被称为——类,js中常见的类:Array、Function、Date、RegExp、Error;
- 面向对象:对象拥有方法直接调用,而不需要在全局定义函数然后将值传入。不仅是对象,数字、字符串、布尔值也可以拥有自己的方法,只有null和undefined不能拥有方法;
当调用s.length时,进行的操作是先new String(s)将其转换为对象,调用结束后再销毁,Number()和Boolean()类似; - 所有数字用64位浮点数表示,最大值±1.7976931348623157×10308,最小值±5×10-324
超过数字范围 ±Infinity
能表示的整数范围:-253~253,超过此范围的整数无法保证低位数字的精度 - Math.round() 四舍五入
Math.ceil() 向上取整
Math.floor() 向下取整 - js采用IEEE-754浮点数表示法,这是一种二进制表示法,可以精确到分数比如1/2,1/8,1/1024,但对于十进制分数不能准确表示比如1/10,所以0.3-0.2!=0.2-0.1,在二进制64位浮点表示法中小数部分最多只有52位,0.3转换后为0.299999999999999988897769753748,0.2转换后为0.200000000000000011102230246252,计算结果是0.09999999999999998,其实在java之类的语言中也有这个问题,只是内部做了处理;
- 字符串方法:charAt,substring,substr,slice,splice,indexOf,lastIndexOf,toUpperCase
- null和undefined
typeof(null) //object
typeof(undefined) //undefined
null == undefined //true
null === undefined //false - 类型转换(见表3-2)
只有当值是NaN时,x!=x才成立
第4章 表达式和运算符
- 运算符优先级(见表4-1)
属性访问和函数调用优先级比表4-1中所有运算符都高,例如typeof my.functions[x](y)
,是先执行属性访问和函数调用后才执行typeof;
赋值运算优先级比较低,通常最后执行;
一元操作符、赋值、三元条件运算符都是从右至左的结合性;
测试:var a=1; b=(a++)+a; //b=3
- 对象转为原始值时,先尝试使用valueOf(),再尝试使用toString(),除了Date(),它只是使用toString()方法;
- ==操作符的类型转换
- null,undefined =>相等
- 数字,字符串 =>字符串转为数字再比较
- 一个值为boolean =>true转1,false转0
- 一个值对象,一个值是数字或字符串,对象先转为原始值
- 其他不同类型间比较均不相等
- 当一个值是数字,一个值是字符串时,
+
会首先考虑将数字转为字符串,而>
会将字符串转为数字,例如"one"<3
会将one
转为NaN,结果为false; - in 运算符可以查找数组中是否存在某个元素,或者对象中是否存在某个属性;
- &&操作符使用,
if(a==b) f();
与(a==b)&&f();
等价; - typeof返回值(见表4-3)
0 0
- 读书笔记 —《JavaScript权威指南》
- 《JavaScript权威指南》读书笔记
- javascript权威指南读书笔记
- 《JavaScript权威指南》 -- 读书笔记
- javascript权威指南--读书笔记
- JavaScript权威指南读书笔记—— 模块
- 《javascript权威指南》读书笔记(3)—语句
- JavaScript权威指南》读书笔记【转】
- JavaScript权威指南-读书笔记1
- JavaScript权威指南-读书笔记2
- JavaScript权威指南-读书笔记3
- JavaScript权威指南-读书笔记3
- JavaScript权威指南读书笔记——JavaScript的扩展
- JavaScript权威指南读书笔记——第六章 对象
- JavaScript权威指南读书笔记——第七章 数组
- JavaScript权威指南读书笔记——第八章 函数
- JavaScript权威指南读书笔记——第十章 正则表达式
- JavaScript权威指南读书笔记——第十四章 Window对象
- 算法分析与设计第十一周:416. Partition Equal Subset Sum
- 如何解决复制来的js以及css等文件中文乱码问题
- linux套接字编程笔记(二)--简单的TCP套接字应用程序
- 安装系统(win7篇)新手专用
- 成为JavaGC专家(1)—深入浅出Java垃圾回收机制
- 读书笔记 —《JavaScript权威指南》
- Java实现Rsa非对称加密
- 道
- Sublime Text3 快捷键
- 基于 Django1.10 文档的深入学习(31)—— settings 之 ALLOWED_HOSTS
- Python 中进程、线程、协程、IO复用
- IntentFilter匹配规则
- 【lab104】F
- html标签中,单引号和双引号区别: