(一) js的简介
JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言
(二)JavaScript特点
向HTML页面中添加交互行为
脚本语言,语法和Java类似
解释性语言,边执行边解释
(三)JavaScript组成:BOM,DOM和ECMAScript。
- ECMAScript标准
1) ECMAScript是一种开放的、被国际上广为接受的、标准的脚本语言规范。它不与任何具体的浏览器进行绑定
2) 主要描述的内容
a) 语法
b) 变量和数据类型
c) 运算符
d) 逻辑控制语句
e) 关键字和保留字
f) 对象
3) ECMAScript是一个描述,规定了脚本语言的所有属性、方法和对象的标准,因此在使用WEB客户端脚本语言编码时一定要遵循ECMAScript标准
2. BOM浏览器对象模型
BOM提供了独立于内容与浏览器窗口进行交互的对象,使用BOM可以实现与HTML的交互
3. DOM文档对象模型
DOM是HTML文档对象模型定义的一套标准方法,用来访问和操纵HTML文档
(四) JavaScript的基本结构
- 基本结构
<script type="text/javascript">
JavaScript 语句;
</script >
- Js执行原理
- 执行过程
1) 浏览器客户端向服务器端发送请求
2) 服务端数据处理:数据器端将某个包含js的页面进行处理
3) 服务端发送响应:服务端将含有js的html文件处理页面返回到客户端,在客户端进行解析,并将效果展示给用户
2.使用脚本客户端的好处
1) 包含js脚本的页面只需下载一次,这样能减少不必要的网络通信
2) JS程序由浏览器客户端去执行,而不是由服务器端执行的,可以减轻服务器端的压力
(五) 页面中引入js的三种方式
- 内部js文件:在页面中将js代码写在script标签的标签中,学习阶段使用最多
- 外部js文件:使用script标签并添加src属性,在src中写入js文件的路径,开发阶段使用最多
- 直接写在html标签中:可以在html标签中添加事件触发的属性,属性值是“javascript:js代码”,用的不多
(六) 变量的声明和赋值
- 声明变量
var 变量名称;
- 为变量赋值
变量名称=值;
- 边声明边赋值
var 变量名=值;
- 同时声明多个变量,中间使用逗号隔开
var 变量名1,变量名2=值,变量3;
(七) 数据类型
- undefined:未定义类型
- null:空类型
- number:数值类型
- string:字符串类型
- boolean:布尔类型
- object:是一种复杂的数据类型
在js中使用typeof(数据)来判断该数据的类型
string类型的常用方法
字符串属性:length 字符串.length 返回的是该字符串的长度
字符串函数:
1) 字符串拼接
可以使用 + 来拼接字符串
可以使用concat来拼接字符串,格式是str1.concat(str2);
2) 字符串的抽取
使用substring(index1,index2): 从参数1到参数2之间的字符串,截取的内容包括第一个参数的位置,不包括第二个参数的位置
3) 字符串的替换
使用replace来替换字符串
str1.replace(参数1,参数2),用参数2去替换字符串中参数1,如果参数1在该字符串中找不到,则该字符串不发生改变
4) 字符串的分割
使用split来分割字符串,返回的是字符串数组,split(分割符,整数参数),第二个参数是指定返回的数组的长度,从左向右取数组中的元素
5) 字符串中的字母全部转换成大写:str.toUpperCase();
6) 字符串中的字母全部转换成小写:str.toLowerCase();
7) 查找某个字符串在字符串首次出现的位置,返回的是该位置的索引值
str.IndexOf(要查找的字符串,[index]),说明:index是可选参数,如果有index这个参数那么,代表的是从该索引处开始查找,如果不写默认从0开始查找
8) 查找某个字符串在字符串最后一次出现的位置,返回的是该位置的索引值
str.lastIndexOf(要查找的字符串,[index可选参数])
charAt(下标):返回字符串中指定位置的字符
- 创建数组
方式一
var 数组名称=new Array();
不指定数组的长度
方式二
var 数组名称=new Array(size);
在创建数组时指定数组的长度
方式三
var 数组名称=[数组的元素];
在创建数组时可以直接给数组的元素赋值
- 为数组的元素赋值
通过数组中的索引为数组的元素赋值与取值,索引从0开始
- 数组的属性:length
获取数组的长度:数组名称.length
改变数组的长度:数组名称.length=长度值(正整数);
- 数组的检测:
1) Instanceof来判断一个变量是否是一个数组,返回的是布尔值
变量名 instanceof Array
2) Array类中提供一个方法来检测变量是否为数组
格式:Array.isArray(变量);返回布尔值
- 数组中添加元素
push() :向数组末尾添加一个或更多元素,添加多个元素元素之间用逗号隔开,并返回新的长度
- 数组中删除元素
数组名.pop():删除元素时从数组的末尾开始删除
- 将数组转化为一个字符串
通过toString()方法将数组转换为一个字符串
数组名.toString()
- 数组的排序
使用sort()对数组进行排序
数组名.sort()
注意:使用sort()排序,并不是按照元素的数值来进行排序,它是按照对应元素编码来进行排序的
- 向数组的元素中添加指定分隔符并返回一个字符串
数组名.join(分割符),得到一个所有数组元素之前添加分隔符之后的一个字符串
(八) 常用的输入输出
输入
prompt("提示信息","输入框中的默认信息")
输出
alert(提示内容):弹出一个警告框
(九) 函数
1)常用的系统函数
- parseInt()可以解析一个字符串,并返回一个整数,语法:parseInt("字符串")
- parseFloat()可以解析一个字符串,并返回一个浮点数,语法:parseFloat("字符串")
- isNaN()用于检查其参数是否为数字,返回的是布尔值,语法:isNaN(x),如果是一个数字返回false,
2)自定义函数
- 定义函数
语法: function 函数名(参数1,参数2,参数n){
js语句
[return 返回值]
}
3)常用事件:
一个页面或一幅图像完成加载:onload
鼠标单击某个对象:onlick
鼠标指导移到某元素上:onmouseover
某个键盘按键被按下:onkeydown
域的内容被改变:onchange