JavaScript内置对象
JS的对象也分为内置对象和定义对象
- 例如,Java中Object、String、System属于内置对象
- 例如,自定义的Person、Student属于自定义的对象。JS的自定义对象是函数实现的
1.1 JS内置对象 String
String 对象用于处理文本(字符串)。
String 对象属性
属性 | 描述 |
---|---|
length | 字符串的长度 |
String 对象方法
方法 | 描述 |
---|---|
charAt(x) | 返回在指定位置的字符。 |
indexOf(x) | 检索字符串。 |
lastIndexOf(x) | 从后向前搜索字符串。 |
split(x) | 把字符串分割为字符串数组。 |
substring(开始索引,结尾索引) | 获取两个索引之间的字符,包含头,不包含尾 |
substr(开始索引) | 获取的是开始索引到结尾之间的字符 |
substr(开始索引,字符个数) | 从开始索引开始,获取指定个数个字符 |
创建对象的方式:
var str = new String("字符串");
var str = "字符串";
举例说明:
<html>
<head>
<meta charset="UTF-8">
<title>JS的内置对象String</title>
<script type="text/javascript">
/*
* String 对象用于处理文本(字符串)。里边包含很多操作字符串的方法
* 创建对象的方式:
* var str = new String("字符串");
* var str = "字符串";
*/
var str1 = new String("abc");
//alert(str1);//abc
//alert(typeof str1);//object
var str2 = "a-b-c";
//alert(str2);//a-b-c
//alert(typeof str2);//string
//属性 length 字符串的长度
//alert(str1.length);//3
//alert(str2.length);//5
//方法 charAt(x) 获取指定索引处的字符
//alert(str2.charAt(0));//a
//alert(str2.charAt(1));//-
//alert(str2.charAt(2));//b
//遍历字符串
for(var i=0; i<str2.length; i++){
//alert(str2.charAt(i));
}
/* 方法
* indexOf(x) : 在一个字符串中查找另外一个字符串,找到了返回字符串的索引,找不到返回-1
(从前往后找)
* lastIndexOf(x): 在一个字符串中查找另外一个字符串,找到了返回字符串的索引,找不到返回-1
(从后往前找)
*/
var index1 = str2.indexOf("-");
//alert(index1);//1
var index2 = str2.lastIndexOf("-");
//alert(index2);//3
var index3 = str2.indexOf("w");
//alert(index3);//-1
//方法split(x) 把字符串按照指定的字符进行切割,分成多个字符串,存储到一个数组中
var arr = str2.split("-");
for(var i=0; i<arr.length; i++){
//alert(arr[i]);
}
/*
* 方法
* substring(开始索引,结尾索引) 截取开始索引和结束索引之间的字符,包含头,不包含尾
* substr(开始索引) 从开始索引开始截取到字符串的末尾
* substr(开始索引,字符个数) 从开始索引开始,截取指定字符个数的字符串
*/
//a-b-c -b-
var s1 = str2.substring(1,4);
//alert(s1);
// a-b-c -b-c
var s2 = str2.substr(1);
//alert(s2);
//a-b-c -b-
var s3 = str2.substr(1,3);
alert(s3);
</script>
</head>
<body>
</body>
</html>
1.2 JS内置对象 Date
Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
注释:Date 对象会自动把当前日期和时间保存为其初始值。
Date 对象方法
方法 | 描述 |
---|---|
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
toLocaleString() | 根据本地时间格式,把 Date 对象转换为字符串。 |
举例说明:
<html>
<head>
<meta charset="UTF-8">
<title>JS的内置对象Date</title>
<script type="text/javascript">
/*
* 创建对象的方式:
* var date = new Date();
* 方法:
* getFullYear() 从 Date 对象以四位数字返回年份。
* getMonth() 从 Date 对象返回月份 (0 ~ 11)。
* getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
*
* getHours() 返回 Date 对象的小时 (0 ~ 23)。
* getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
* getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
* getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
*
* toLocaleString() 根据本地(当前系统时间)时间格式,把 Date 对象转换为字符串。
*/
var date = new Date();
//alert(date);//Sun Jun 09 2019 16:22:55 GMT+0800
alert(date.getFullYear()+"年");
alert((date.getMonth()+1)+"月");
alert(date.getDate()+"日");
alert(date.getHours()+"时");
alert(date.getMinutes()+"分");
alert(date.getSeconds()+"秒");
alert(date.getTime()+"毫秒");
alert(date.toLocaleString());
</script>
</head>
<body>
</body>
</html>
1.3 JS内置对象 Math
Math是数学计算的对象,此对象无需创建,直接Math.调用(静态)
Math 对象方法
方法 | 描述 |
---|---|
ceil(x) | 对数进行上舍入 |
floor(x) | 对数进行下舍入。 |
round(x) | 把数四舍五入为最接近的整数。 |
举例说明:
<html>
<head>
<meta charset="UTF-8">
<title>JS的内置对象Math</title>
<script type="text/javascript">
/*
* Math类中的属性和方法可以通过Math.直接使用,不用创建对象(静态)
* Math.属性;
* Math.方法(参数);
*/
//ceil(x) 向上取整
//alert(Math.ceil(5.1));//6
//floor(x) 向下取整
//alert(Math.floor(5.99));//5
//round(x) 四舍五入
alert(Math.round(5.4999999))//5
alert(Math.round(5.5))//6
</script>
</head>
<body>
</body>
</html>
1.4 JS内置对象 Array
Array 对象,就是JS数组,用于存储多个值,存储的元素类型可以是任意类型。而且长度是可以变化的。就相当于java中集合,泛型Object。
可以创建长度是0的Array。
一个很典型的二维数组案例:省市二级联动。
创建 Array 对象的语法
new Array();
new Array(size);
new Array(element0, element0, ..., elementn);
参数
参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。
参数 element …, elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。
返回值
返回新创建并被初始化了的数组。
如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
Array 对象属性
属性 | 描述 |
---|---|
length | 设置或返回数组中元素的数目。 |
举例说明:
<html>
<head>
<meta charset="UTF-8">
<title>JS的内置对象Array</title>
<script type="text/javascript">
/*
* Array 对象用于在单个的变量中存储多个值。数组
* 长度是可以变化的,可以存储任意数据类型的数据
* 就相当于java中集合,泛型Object
*
* 创建对象的方式:
* new Array(); 创建一个长度为0的数组
* new Array(size); 创建一个指定长度的数组
* new Array(e0, e1, ..., en); 创建一个包含指定的元素的数组
* [e0, e1, ..., en]; 创建一个包含指定的元素的数组
*/
//new Array(); 创建一个长度为0的数组
var arr1 = new Array();
//alert(arr1);
//alert(arr1.length);//0
//往数组中添加元素
arr1[0] = 100;
arr1[1] = true;
arr1[5] = 5.5;
//alert(arr1);//100,true,undefined,undefined,undefined,5.5
//alert(arr1[2])//undefined 默认值
//alert(arr1.length);//6
//new Array(size); 创建一个指定长度的数组
var arr2 = new Array(10);
//alert(arr2);//,,,,,,,,,
//alert(arr2.length);//10
//arr2[5] = "abc";
//alert(arr2);//,,,,,abc,,,,
//new Array(e0, e1, ..., en); 创建一个包含指定的元素的数组
var arr3 = new Array(1,2,3,true,false,"aaa","bbb","ccc",1.1,2.2,3.3);
//alert(arr3);//1,2,3,true,false,aaa,bbb,ccc,1.1,2.2,3.3
//alert(arr3.length);//11
//[e0, e1, ..., en]; 创建一个包含指定的元素的数组
var arr4 = [1,2,3,true,false,"aaa","bbb","ccc",1.1,2.2,3.3];
//alert(arr4);//1,2,3,true,false,aaa,bbb,ccc,1.1,2.2,3.3
//alert(arr4.length);//11
//数组的遍历
for(var i=0; i<arr4.length; i++){
//alert(arr4[i]);
}
/*
* 二维数组:数组中的元素仍是一个数组
*/
var arrArr = [
[1,2,3],
["a","b","c"],
[1.1,2.2,3.3]
];
//alert(arrArr.length);//3
//alert(arrArr[1]);//"a","b","c"
alert(arrArr[1][2]);//"c"
</script>
</head>
<body>
</body>
</html>
1.5 JS内置对象 RegExp正则表达式
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
正则表达式:就是一个包含规则的字符串;用于对其他字符串进行校验
创建 RegExp 对象的语法
直接量方式创建RegExp对象语法:
var reg = /^规则$/; //返回一个新的 RegExp 对象
通过构造器方式创建 RegExp 对象语法:
var reg = new RegExp(pattern); //返回一个新的 RegExp 对象
方括号
方括号用于查找某个范围内的字符:
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[^abc] | 查找任何不在方括号之间的字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
[a-z] | 查找任何从小写 a 到小写 z 的字符。 |
[A-Z] | 查找任何从大写 A 到大写 Z 的字符。 |
[A-z] | 查找任何从大写 A 到小写 z 的字符。 |
量词
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 |
n* | 匹配任何包含零个或多个 n 的字符串。 |
n? | 匹配任何包含零个或一个 n 的字符串。 |
n{X} | 匹配包含 X 个 n 的序列的字符串。 |
n{X,Y} | 匹配包含 X 至 Y 个 n 的序列的字符串。 |
n{X,} | 匹配包含至少 X 个 n 的序列的字符串。 |
n$ | 匹配任何结尾为 n 的字符串。 |
^n | 匹配任何开头为 n 的字符串。 |
RegExp 对象方法
方法 | 描述 |
---|---|
test() | 检索字符串中指定的值。返回 true 或 false。 |
举例说明(校验手机号):
<html>
<head>
<meta charset="UTF-8">
<title>JS的内置对象RegExp</title>
<script type="text/javascript">
/*
* 校验手机号:第1位是1,第2位是345679其中的一位,长度11位全是数字
* "13888888888"
* 定义一个校验手机号的正则表达式:
* "1[345679][0-9]{9}"
* 创建正则表达式的对象
* var reg = new RegExp("^正则表达式$");
* var reg = /^正则表达式$/;
* 正则表达式中的成员方法:
* test 检索字符串中指定的值。返回 true 或 false。
* reg.test("字符串") 对字符串进行校验
* 字符串符合正则的规则,返回true
* 字符串不符合正则的规则,返回false
*/
//创建正则表达式的对象
var reg = /^1[345679][0-9]{9}$/;
var b = reg.test("18888888888");
alert(b);
</script>
</head>
<body>
</body>
</html>