JS高级程序设计阅读笔记(一) | 简介及数据类型

56 阅读2分钟

ECMAScript兼容

  1. 支持ECMA描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;
  2. 支持Unicode字符标准;
  3. 可以添加ECMA没有描述的类型、值、对象、属性和函数;
  4. 支持ESMA没有定义的“程序和正则表达式语法”。

Script元素

Script元素实现了让JavaScript和HTML页面共存,同时不影响页面在其他浏览器上的呈现效果。常用属性有:

  1. async 表示立即下载该脚本,但不影响其他脚本和资源的加载,不保证按照指定顺序执行,要求两个脚本无依赖关系,尽量不要在异步脚本加载期间修改DOM
  2. defer 表示脚本可以延迟到文档完全被解析和实现后再执行 (立即下载,延迟执行)
  3. src 要执行代码的外部文件 不能再嵌入JS代码,会被忽略
  4. type 脚本语言的内容类型(MIME类型) 默认text/javascript

JavaScript代码从上至下被解释,将定义保存在自己的环境中。在解释器对元素内部的所有代码求值完毕以前,页面中的其余内容不会被浏览器加载或显示。 在解析外部JavaScript文件时,页面的处理也会停止。对于多个script,若无defer或async,从上至下解析。一般放在body页面元素后,使用户等待时间减少。

外部JavaScript需要考虑跨域问题,需要域的所有者值得信赖。

<noscript>元素显示情况:

  1. 浏览器不支持脚本
  2. 浏览器支持脚本,但脚本被禁用

Number类型

  1. 问题: 0.1 + 0.2 != 0.3 image.png- image.png 使用IEEE754表示的浮点数与十进制格式数存在误差,因此容易无法计算出准确值。能被精确表示的小数需要是0.5各次幂项的和,如0.75(0.52+0.50.5^2+0.5)。 image.png 其他语言若基于IEEE754也会出现类似问题。
  2. Number类型知识总结 image.png

参考

IEEE754浮点数转换

JavaScript高级程序设计