JavaScript基础知识(四)之内置对象(String、Date、Math、Array、正则表达式)

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>

猜你喜欢

转载自blog.csdn.net/qq_45083975/article/details/91387959