JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
js的组成
JS由三个部分组成,分别为ECMAScript、BOM、DOM.
ECMAScript
主要是js的语法规则,它规定了一些特定的规则写法和对象.比如Array、String、Promise等.
BOM
BOM是包含整个浏览器的,它的核心对象是window,它包含的内容为:
1. window对象 ,是JS的最顶层对象,其他的BOM对象都是window对象的属性;
2. document对象,文档对象;
3. location对象,浏览器当前URL信息;
4. navigator对象,浏览器本身信息;
5. screen对象,客户端屏幕信息;
6. history对象,浏览器访问历史信息;
7. 计时器:
DOM
DOM是页面里的所有东西,它的核心对象是document,是把html元素当做对象处理的思路.严格遵循W3C的规则.它包含的内容为:
1. 如何获取节点:类似document.getElementById()这类函数能拿到HTMLCollection 对象
2. 如何拿到节点属性内容等.其中样式会放在CSS中通用管理
3. 节点直接的关系:childNodes等
4. 如何增删改查节点:appendChild()等
5. 事件:focus(),onclick()等
这些都是通过W3C的规则严格控制的,能保证页面对DOM元素的操作能顺利的在不同的浏览器中运作.而我们常说的一些兼容问题,则会出现在这里.新出的函数,不一定所有的浏览器都支持.新出的属性也有些浏览器不支持.同时我们也可以知道,DOM是包含HTML、CSS的.
js的特点
JavaScript是一门解释型、动态型、简单弱类型、单线程、基于原型的脚本语言。
解释型语言
也被称为直译型语言,JavaScript不会直接被机器所识别。需要通过解释器对我们的代码一句句翻译为机器可以识别的代码。 我们可以认为是解释一句,执行一句。在这个过程中,不会生成中间文件,所以每次执行都需要重新解释一次。
动态类型
当你声明一个变量时,你不会定义它的类型。在代码执行过程中,它的类型可以更改,让一个变量可以有多种不同的类型。
简单弱类型
变量的类型需要在运行时才能确定。
安全性
JavaScript需要通过浏览器运行,它不允许访问客户端的文件,也不允许操作服务器数据。
基于原型
JavaScript 通过一种叫做 原型( prototype ) 的方式来实现面向对象编程。
脚本语言
不具有严谨的语法和规则。
跨平台性
JavaScript的执行与操作环境无关,只要能运行浏览器的设备就可正确执行。
单线程
JavaScript所有任务都是在一个主线程上完成。因此如果某段代码执行耗时较长会导致假死现象,无暇顾及用户的行为。