一、JS对象种类
什么是对象?
在现实世界中,任何实体都可叫对象,比如“人”可看作一个对象。“人”具有姓名、性别、年龄、身高、体重等特征,“人”可以吃饭、可以开车、可以运动等动作。 简单的讲,对象就是一组属性与方法的集合。 对象是一种复合数据类型,或者称为引用数据类型。
1、JavaScript内建对象
由JavaScript语言规范定义的一系列对象,这些对象提供了完成各种任务的方法,比如Math对象。
2、用户自定义对象
由程序员自己定义的对象,完成特定的任务。
3、浏览器对象与文档对象
BOM(浏览器对象模型)与DOM(文档对象模型)的一部分,提供访问与控制浏览器和网页文档(HTML文档)的属性和方法。这部分不属于JavaScript语言。
二、自定义对象
1、使用Object()构造函数
- 在JS中,Object对象是所有对象的顶层对象,所有对象均继承Object对象,可以通过Object对象的构造函数Object()创建一个空对象实例,然后向该对象实例添加自己的属性和方法。
- JS中,可以动态添加对象的属性和方法,对象的属性可以是基本类型,也可以是复合类型,方法就是对象中的函数。
2、对象直接量
- 对象直接量使用大括号”{}”将对象的“属性/值”对括起来,各“属性/值”对之间以逗号“,”隔开,属性和值之间以冒号“:”隔开。
- 同样可以在定义之后添加其它属性。
3、实例
Person = {
name : "周更生",
sex : "男",
age: 30,
academic: "大专",
}
三、JS内建对象
1、String对象
定义了所有处理字符串的操作。
1.1 String对象简介
—String对象中定义了处理字符串的各种方法,该对象是最常用的对象之一。 —在JS中通过双引号或单引号括起来的就是字符串对象。
1.2 String对象的声明
构造函数:var 实例名称 = new String(“字符串内容”);
1.3 length属性
该属性得到字符串的长度,即字符串所包含的字符个数。
1.4 charAt(index)方法
返回字符串中 index 指定位置处的一个字符。
1.5 indexOf(str, [startIndex])方法
在当前字符串中从左到右查找子字符串从左到右查找子字符串str,并返回子字符串str第一次出现时的位置索引,如果找不到则返回 -1。
1.6 lastIndexOf(search, [startIndex])方法
与indexOf方法作用相同,但是查找的方向为从右到左。如果找到,返回子 字符串在字符串中的起始位置,否则返回 -1。
1.7 substr(startIndex, [length])方法
从起始索引号提取字符串中指定数目的字符。
1.8 substring(startIndex, [endIndex])方法
提取字符串中两个指定的索引号之间的字符。
1.9 split(separator, [limitInteger])方法
该方法将字符串中的字符通过指定的分隔符进行分隔,并使用所得各个字符 串组成一个数组。
1.10 search(substr)方法
检索字符串中指定的?字符串,或检索与正则表达式相匹配的?字符串。
1.11 replace(substr,replacement)方法
在字符串中??些字符替换另?些字符,参数substr规定要查找的?字符 串, replacement规定替换后的字符串。
ps:只能替换一次。
1.12 toLowerCase()方法
该?法返回字符串中的字符全部转成?写得到的字符串,不影响原字符串。
1.13 toUpperCase()方法
该?法返回字符串中的字符全部转成大写得到的字符串,不影响原字符串。
2、Array对象
提供一个数组模型,存储大量有序数据
2.1 length 属性
? 设置或返回数组中元素的数?。 ? 设置 length 属性可改变数组的??。如果设置的值?其当前值?,数组将 被截断,其尾部的元素将丢失。如果设置的值?它的当前值?,数组将增?,新的元素被添加到数组的尾部,它们的值为 undefined。
2.2 join( )
? 功能:将数组转换成字符串 ? 语法:arrayObject.join([separator]) ? 参数:separator可选。指定要使?的分隔符。如果省略该参数,则使?逗 号作为分隔符。
2.3 shift ( )
? 功能:把数组的第?个元素从其中删除,并返回第?个元素的值。 ? 语法:arrayObject.shift() ? 说明:shift()?法将删除arrayObject的第?个元素,把数组?度减1,并返 回它删除的元素的值。该?法将修改原数组。
2.4 pop( )
? 功能:?于删除并返回数组的最后?个元素 ? 语法:arrayObject.pop() ? 说明:pop() ?法将删除 arrayObject 的最后?个元素,把数组?度减 1, 并且返回它删除的元素的值。如果数组已经为空,则pop() 不改变数组,并返 回undefined 值
2.5 unshift( )
? 功能:向数组的开头添加?个或更多元素,并返回新的?度。 ? 语法:arrayObject.unshift(element1,element2,…,elementX) ? 返回值:arrayObject 的新?度。
2.6 push ( )
? 功能:向数组的末尾添加?个或更多元素,并返回新的?度 ? 语法:arrayObject.push(element1,element2,…,elementX) ? 说明:把指定的值添加到数组后的新?度。
2.7 sort( )
? 功能:?于对数组的元素进?排序。 ? 语法:array.sort([sortby]) ? 参数:sortby可选,规定排序顺序,必须是函数。 ? 返回值:对数组的引?。请注意,数组在原数组上进?排序,不?成副 本。 ? 说明:如果调?该?法时没有使?参数,将按字?顺序对数组中的元素进 ?排序(说得更精确点,是按照字符编码的顺序进?排序)。如果想按照 其他标准进?排序,就需要提供?较函数,该函数要?较两个值,然后返 回?个?于说明这两个值的相对顺序的数字。
2.7 reverse()
? 功能:颠倒数组中元素的顺序。 ? 语法:arrayObject.reverse() ? 提示:该?法会改变原来的数组,?不会创建新的数组。
3、Math对象
定义了所有数学运算。
4、Date对象
定义了所有处理日期和时间的操作。
4.1 指定时间戳创建实例
? 语法:dateName = new Date(millisecondsNum); ? 说明:指定?个整数参数时,将该参数作为对象实例距离1970年1?1?0时 0分0秒的毫秒数,以此创建实例。 ? 实例:myDate = new Date(10000); //对应的是1970年1?1?0时0分10秒
4.2 创建当前系统?期和时间的实例
? 语法:dateName = new Date(); ? 说明:当不提供任何参数时,Date()构造函数创建?个当前系统时间对应的 Date实例,采?本地时间。
4.3 指定时间字符串创建对应指定时间的实例
? 语法:dateName = new Date(millisecondsNum); ? 说明:指定?个整数参数时,将该参数作为对象实例距离1970年1?1?0时 0分0秒的毫秒数,以此创建实例。
4.4 创建Date对象实例
? 语法:dateName = new Date(dateString); ? 其中,dateString是?个表示时间的字符串
4.5 指定年、?、?、时间等创建Date对象实例
? 语法:dateName = new Date(year,month,date[,hours[,minutes[,seconds]]]); ? 说明: 在这种格式中,时间由7部分组成,其中,年、?、?必须指定,其余可选。 ?份从0开始计数,范围0-11
4.6 Date对象?法
5、Boolean对象
定义了处理布尔值的操作。 ? 如果使?Boolean()函数时,只是将参数值转为布尔值返回,?不创建 Boolean对象。var flag = Boolean(“”); ? 使?new关键字创建的是Boolean对象。Var obj =new Boolean()
6、Number对象
定义了处理数字的操作。 ? 使?关键字new,创建是Number对象。 ? 例如:var obj = new Number(“123”); ? 直接使?Number()函数,将创建?个Number数值变量。
7、Event对象
提供对JavaScript事件的处理信息。
8、Math对象
定义了所有数学运算。
8.1 Math对象提供了?些各种数学处理?法
Math对象中属性和?法均为静态属性和静态?法,直接通过Math关键字进 ?调?。例如:Math.abs(-2)
9、Date对象
定义了所有处理日期和时间的操作。
10、ReExp对象
提供对正是表达式的处理(以后的课程讲)
11、Function对象
11.1 Function对象
? JS函数实际上是功能完整的函数对象,是?种引?数据类型。当定义?个 函数时,便定义了?个与函数同名的函数对象。函数可以通过构造函数或 者传统?法进?定义,都将创建?个函数对象。
11.2 arguments对象
? 该属性为数组性属性,数组中包含了函数调?时接受的所有参数。该属性 本身也是?个对象,拥有?个length属性,表示接受的参数的个数。
11.3 arguments对象的 length属性
? 该属性表示提供的参数的个数,该值是只读的,?法修改
|