内容导航

​ 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
最后修改:2023 年 02 月 14 日
如果觉得我的文章对你有用,请随意赞赏