《JavaScript高级程序设计 第3版》-学习笔记-1
P1-P30页
1、<script>标签的属性
async:async(html) | async="async"(xhtml),表示立即下载脚本,但不马上执行(执行没有了先后顺序),不会暂停构建文档。
defer:defer(html)| defer(XHTML),表示立即下载脚本,但延迟到解析到</html>标签才执行脚本。
2、在xhtml中嵌入js代码加CDATA
<script> //<![CDATA[ ...code... if(a < b){ ...code... } ...code... //]] </script>
在xhtml中,a < b这种小于号会被当做一个新的标签解析,但作为标签而言,<后不能有空格,因此会有语法错误,所以为了解决这种问题,最好引入CDATA片段,但又有浏览器兼容XHTML,不支持CDATA,所以要将CDATA标记注释掉。
3、使用“use strict”开启解析引擎的严格模式
4、省略var操作符可定义全局变量,但最好不要这么做
5、自动boolean类型转换
1 var message = "hello"; 2 if(message){ 3 console.log(message); 4 }
这里的if(message) 等价于if(Boolean(message))
6、IEE754数值浮点计算的通病,参见博客 0.1+0.2!=0.3, why? how to solve? -- 简议javascript的浮点运算