内容导航
ECMAScript是JavaScript的核心,但如果要在Web网页开发中使用JavaScript,那么BOM无疑是真正的核心。BOM提供了很多对象,其中包括window、location和hustory等。
BOM(Browser Object Model):浏览器对象模型
BOM核心对象:window、history、document、location等等。
window对象(窗口)
window对象是整个BOM的核心,它表示浏览器打开的窗口,可以通过JavaScript访问浏览器窗口的一个接口。
window对象的常用属性
属性名称 | 说明 |
---|---|
history | 有关客户访问过的URL的信息 |
location | 有关当前URL的信息 |
screen | 只读属性、包含客户端显示屏幕的信息 |
window对象的常用方法
方法名称 | 说明 |
---|---|
prompt() | 显示可提示用户输入的对话框 |
alert() | 显示带有一个提示信息和一个确定按钮的警示框 |
confirm() | 显示一个带有提示信息、确定和取消按钮的对话框 |
close() | 关闭浏览器窗口 |
open() | 打开一个新的浏览器窗口,加载给定URL所指定的文档 |
setTimeout() | 在指定的毫秒数后调函数或计算表达式 |
setInterval() | 按照指定的周期(以毫秒计)来调用户数或表达式 |
history对象(历史记录)
从窗口被打开的那一刻起,history对象就保存着用户上网的历史记录。由于history对象是window对象的属性,所以每一个浏览器窗口,每个标签页,都有自己的history对象与特定的window对象关联。出于安全附魔的考虑,开发者无法得知用户浏览过的URL。不过,借由用户访问过的列表,同样可以在不知道实际URL的情况下前进和后退。
history对象的常用属性
名称 | 说明 |
---|---|
length | 返回历史记录列表中的网址数 |
history对象的常用方法
名称 | 说明 |
---|---|
back() | 加载History对象列表中的前一个URL |
forward() | 加载History对象列表中的下一个URL |
go() | 加载History对象列表中的某个具体URL |
location对象(网址)
location对象是比较有用的BOM对象之一,它提供了与当前窗口中加载文档有关的信息,还提供了一些导航功能。
location对象的常用属性
名称 | 说明 |
---|---|
host | 设置或返回主机名和当前URL的端口号 |
hostname | 设置或返回当前URL的主机名 |
href | 设置或返完整的URL |
location对象的常用方法
名称 | 说明 |
---|---|
reload() | 重新加载当前文档 |
replace() | 用新的文档替换 |
document对象(文档)
document对象即是window对象的一部分,又代表了整个HTML文档,可用来访问页面中对象所有元素。在使用document对象时,除要符合各浏览器的标准外,也要符合W3C(万唯网联盟)的标准。
document对象的常用方法
名称 | 说明 |
---|---|
getElementByid() | 返回对拥有指定id的第一个对象的引用(对象的id唯一) |
getElementByName() | 返回带有指定名称的对象的集合(相同name属性) |
getElementByTagName() | 返回带有指定标签名的对象的集合 |
write() | 向文档写文本 |
JavaScript内置对象
在JavaScript中,系统的内置对象有String对象、Array对象、Date对象和Math对象等。
- String对象:用于支持对字符串的处理。
- Array对象:用于单独的变量名中存储一系列的值。
- Date对象:用于操作日期和时间
- Math对象:他包含若干数字常量和函数,使我们有能力执行常用的数学任务。
String对象(用于支持对字符串的处理)
String对象常用属性
属性 | 描述 |
---|---|
constructor | 对创建该对象的函数的引用 |
length | 字符串的长度 |
prototype | 允许您向对象添加属性和方法 |
String 对象常用方法
方法 | 描述 |
---|---|
charAt() | 返回在指定位置的字符。 |
charCodeAt() | 返回在指定的位置的字符的 Unicode 编码。 |
concat() | 连接两个或更多字符串,并返回新的字符串。 |
endsWith() | 判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。 |
fromCharCode() | 将 Unicode 编码转为字符。 |
indexOf() | 返回某个指定的字符串值在字符串中首次出现的位置。 |
includes() | 查找字符串中是否包含指定的子字符串。 |
lastIndexOf() | 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。 |
match() | 查找找到一个或多个正则表达式的匹配。 |
repeat() | 复制字符串指定次数,并将它们连接在一起返回。 |
replace() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。 |
replaceAll() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。 |
search() | 查找与正则表达式相匹配的值。 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分。 |
split() | 把字符串分割为字符串数组。 |
startsWith() | 查看字符串是否以指定的子字符串开头。 |
substr() | 从起始索引号提取字符串中指定数目的字符。 |
substring() | 提取字符串中两个指定的索引号之间的字符。 |
toLowerCase() | 把字符串转换为小写。 |
toUpperCase() | 把字符串转换为大写。 |
trim() | 去除字符串两边的空白。 |
toLocaleLowerCase() | 根据本地主机的语言环境把字符串转换为小写。 |
toLocaleUpperCase() | 根据本地主机的语言环境把字符串转换为大写。 |
valueOf() | 返回某个字符串对象的原始值。 |
toString() | 返回一个字符串。 |
Array对象(用于单独的变量名中存储一系列的值)
同Java中的数组一样,JavaScript中的数组也是具有多个值的集合。数组用一个名称存储一系列的值,用下标区分数组中的每个值,数组的下标从0开始。
JavaScript中的数组也想要先创建、赋值,再访问数组元素,并通过数组的一些方法和属性对数组元素进行处理。
创建数组语法:
var 数组名称 = new Array(size)
其中,new是用来创建数组的关键字,Array表示数组关键字,而size表示数组中可存放的元素总数,因此size用正整数来表示。
例子:
var fruit = new Array(5)
Array对象常用属性
名称 | 描述 |
---|---|
length | 设置或返回数组中元素的数目 |
Array对象常用方法
名称 | 描述 |
---|---|
join() | 把数组的所有元素放入一个字符串,通过逗号,或指定的分隔符进行分隔 |
sort() | 对数组排序 |
push() | 向数组末尾添加一个或更多元素,并返回新的长度 |
forEach() | 遍历数组,forEach()方法不会直接修改原始数组,但是回调函数可能会修改 |
Date对象(用于操作日期和时间)
ECMAScript中的Date对象是在早期Java中Java.util.Date类基础构建的。为此,Date对象使用自协调世界时(Coordinated Universal Time,UTC)1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。在使用正在数据存储格式的条件下,Date对象保存的日期能够精准到1970年1月1日之前或之后的10000000年。
创建日期对象语法:
var 日期实例 = new Date(参数);
在上述语法中,日期实例是存储Date对象的变量。
- 如果没有参数,则表示当前日期和时间,如
var today = new Date();。
- 参数是字符串格式
MM DD,YYYY,hh:mm:ss,表示日期和时间,如var today = new Date("July 15,2022,10,10:08:33");。
Date对象常用方法
方法 | 说明 |
---|---|
getDate() | 返回Date对象的一个月中的每一条,其值介于1~31之间 |
getDay() | 返回Date对象的星期中的每一条,其值介于0~6之间 |
getHours() | 返回Date对象的小时数,其值介于0~23之间 |
getMinutes() | 返回Date对象的分钟数,其值介于0~59之间 |
getSeconds() | 返回Date对象的秒数,其值介于0~59之间 |
getMonth() | 返回Date对象的月份,其值介于0~11之间 |
getFullYear() | 返回Date对象的年份,其值为4位数 |
getTime() | 返回自某一时刻(1970年1月1日)以来的毫秒数 |
Math对象(他包含若干数字常量和函数,使我们有能力执行常用的数学任务)
Math对象提供了许多与数学相关的功能,它是JavaScript中的一个全局对象,不需要创建,直接作为对象使用就可以调用其属性和方法。
Math对象常用方法
方法 | 说明 | 示列 |
---|---|---|
ceil() | 对参数进行上舍入 | Math.ceil(25.5);返回26 Math.ceil(-25.5);返回-25 |
floor() | 对参数进行下舍入 | Math.floor()(25.5);返回25 Math.floor()(-25.5);返回-26 |
round() | 把参数四舍五入为最接近的数 | Math.round()(25.5);返回26 Math.round()(-25.5);返回-26 |
random() | 返回0~1之间的随机数 | Math.random();例如:0.6273608814137365 |