参考:ECMAScript 和 JavaScript 的关系
一、什么是JavaScript?
JavaScript是一种动态类型、弱类型、基于原型的浏览器脚本语言,用来给HTML网页增加动态功能。现在有了Node.js,也可以用来编写服务端程序。
动态:声明的变量在运行时才知道是什么类型,var a = 1; //a为数字类型
弱类:不同数据类型能够隐式转换得到正确的类型
原型:就是构造函数的prototype属性上的一个对象,这个对象的属性和方法共享于每一个通过此构造函数创建的对象,也就是说每一个实例的原型指向的是prototype对象。对象可以通过__proto__来访问这个原型对象。对象(函数也是对象)有__proto__属性,函数有prototype属性。对象.__proto__ = 构造函数.prototype = 一个对象。
二、JavaScript分三部分
1.EcmaScript(核心)
规定了语法、语义、数据类型、操作符、关键字、保留字等内容。EcmaScript和JavaScript的关系:前者是后者的规格,后者是前者的实现。
2.DOM(文档对象模型)
DOM把整个页面映射为一个多层节点的文档树,通过DOM提供的API,可以增删改查任何节点。
3.BOM(浏览器对象模型)
可以通过BOM访问浏览器相关信息,控制浏览器一些行为。