《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的浮点运算

 

原文地址:https://www.cnblogs.com/lvyahui/p/4314528.html