1.1 JavaScript基础概念:
JavaScript (ECMAScript) :JavaScript 是脚本语言。JavaScript和ECMAScript通常被人用来表达相同的含义,但是JavaScript并不是这么一点含义,它是由ECMAScript 核心. DOM 文档对象模型. BOM 浏览器对象模型 这三部分组成。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。
1.1.1 ECMAScript
组成部分:语法,类型,语句,关键字,保留字,操作符,对象。
1.1.2 DOM
文档对象模型(DOM , Document Object Model)是针对XML但是经过拓展用于HTML的应用程序编程接口。DOM把整个页面
映射为一个多层节点结构,开发人员借助DOM Api对节点进行操作。
HTML DOM (文档对象模型)
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
HTML DOM 模型被构造为对象的树。
HTML DOM 树:
image.png
通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。
· JavaScript 能够改变页面中的所有 HTML 元素
· JavaScript 能够改变页面中的所有 HTML 属性
· JavaScript 能够改变页面中的所有 CSS 样式
· JavaScript 能够对页面中的所有事件做出反应
1.1.3 BOM
浏览器对象模型(Browser Object Model)使用BOM控制浏览器显示页面意外的部分。
1.2 在HTML中使用JavaScript方式
1.2.1 javaScript脚本加载的位置
1 通过在网页中加入之间
2 也可以引入一个外部的JavaScript文件,这个JavaScript文件一般以.js作为扩展名
3 原则上,放在之间。但视情况可以放在网页的任何部分
4 一个页面可以有几个
1.2.2 javaScript语句的注意点
(1)对大小写敏感
(2)自动忽略多余的空格
(3)在文本字符串中使用反斜杠对代码行进行换行
(4)单行注释(//)多行注释(/* */)
1.3 JavaScript基本语法:
变量要先声明再赋值
变量可以重复赋值
变量的命名规则
变量必须以字母开头;
变量也能以$和_符号开头(不过我们不推荐这么做);
变量名称对大小写敏感(a和A是不同的变量)。
1.3.2 数据类型
typeof操作符:用于检测给定变量的数据类型。
· undefined类型 只有一个特殊的值就是undefined,在使用var声明变量但未初始化时,变量的值是undefined。
· null类型 只有一个特殊的值就是null,null值表示一个空对象指针,使用typeof操作符检测null值会返回“object”。
· boolean类型 布尔值和布尔代数的表示完全一致,一个布尔值只有true、false两种值,要么是true,要么是false,可以直接用true、false表示布尔值,也可以通过布尔运算计算出来。boolean类型的字面值true和false****是区分大小写的。
· number类型 JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:
123; // 整数123
070; //八进制的56
0xA; //十六进制的10
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
· string类型 字符串是以单引号’或双引号”括起来的任意文本,比如’abc’,”xyz”等等。请注意,”或”“本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。 如果’本身也是一个字符,那就可以用”“括起来,比如”I’m OK”包含的字符是I,’,m,空格,O,K这6个字符。 如果字符串内部既包含’又包含”怎么办?可以用转义字符\来标识,比如:
‘I’m “OK”!’;
表示的字符串内容是:I’m “OK”! 转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\。