ECMAScript兼容
- 支持ECMA描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;
- 支持Unicode字符标准;
- 可以添加ECMA没有描述的类型、值、对象、属性和函数;
- 支持ESMA没有定义的“程序和正则表达式语法”。
Script元素
Script元素实现了让JavaScript和HTML页面共存,同时不影响页面在其他浏览器上的呈现效果。常用属性有:
async表示立即下载该脚本,但不影响其他脚本和资源的加载,不保证按照指定顺序执行,要求两个脚本无依赖关系,尽量不要在异步脚本加载期间修改DOMdefer表示脚本可以延迟到文档完全被解析和实现后再执行 (立即下载,延迟执行)src要执行代码的外部文件 不能再嵌入JS代码,会被忽略type脚本语言的内容类型(MIME类型) 默认text/javascript
JavaScript代码从上至下被解释,将定义保存在自己的环境中。在解释器对元素内部的所有代码求值完毕以前,页面中的其余内容不会被浏览器加载或显示。 在解析外部JavaScript文件时,页面的处理也会停止。对于多个script,若无defer或async,从上至下解析。一般放在body页面元素后,使用户等待时间减少。
外部JavaScript需要考虑跨域问题,需要域的所有者值得信赖。
<noscript>元素显示情况:
- 浏览器不支持脚本
- 浏览器支持脚本,但脚本被禁用
Number类型
- 问题: 0.1 + 0.2 != 0.3
-
使用IEEE754表示的浮点数与十进制格式数存在误差,因此容易无法计算出准确值。能被精确表示的小数需要是0.5各次幂项的和,如0.75()。
其他语言若基于IEEE754也会出现类似问题。
- Number类型知识总结
参考
JavaScript高级程序设计