回顾JS基础知识
变量类型和计算
原型和原型链
闭包和作用域
异步和单线程
其他(如日期、Math、各种常用API)
JS-Web-API
- JS基础知识: ECMA 262标准
- JS-Web-API:W3C标准
W3C标准中关于JS的规定有
- DOM操作
- BOM操作
- 事件绑定
- ajax请求 (包括http协议)
- 存储
window.alert (123),浏览器需要做以下:
- 定一个window 全局变量,对象类型
- 给它定义一个alert属性,属性值是一个函数
获取元素document.getElementById(id),浏览器需要做以下:
- 定义一个document全局变量,对象类型
- 给它定义一个getElementById 的属性,属性值是一个函数
但是W3C标准没有规定任何JS基础相关的东西
- W3C标准不管什么变量类型、原型、作用域和异步
- W3C标准只管定义用于浏览器中JS操作页面的API和全局变量
全面考虑,JS内置的全局函数和对象有哪些?
- JS基础知识(即ECMA262标准)中讲过的Object、Array、Boolean、String、Math、JSON等
- window document等等全局对象 属于W3C标准里的
- 后面讲到的所有未定义的全局变量,如navigator.userAgent 属于浏览器内置的对象,语法上遵循ECMA262,又遵循W3C标准
总结
常说的JS(浏览器执行的JS)包含两部分:
- JS基础知识(ECMA262标准)
- JS-Web-API(W3C标准)
nodejs也遵循ECMA262标准,不需要遵循W3C标准,因为不运行在浏览器上,但nodejs会遵循服务器端的标准