JavaScript 数组的操作 数学对象 定时器 正则表达式

一.数组的操作


1.创建数组

数组的定义
1.使用系统内置的Array() 创建一个数组

	  	 var arr = new Array();

2.直接定义

	  	var arr=['a','b'];

2.索引操作 可以修改可以添加 可以查询

原数组没有就添加,有就修改

arr[0]='A';
arr[2]='c';
 arr[10]='o';
 console.log(arr[9]);
 console.log(arr);

3.内置方法

1.push() 从尾部添加 会改变原数组

console.log(arr);
arr.push('c','d'); 
console.log(arr);

在这里插入图片描述


2.pop() 弹出数组中最后一个元素 会改变原数组 有返回值 将弹出后的元素返回

console.log(arr);
var res = arr.pop();
console.log(res);

在这里插入图片描述


3.Unshift() 行前面插入元素 会改变原数组

arr.unshift('A','B');
console.log(arr);
arr.unshift('C');
console.log(arr);

在这里插入图片描述


4.Shift() 从前面删除第一个元素 会改变原数组 有返回值 将删除后的元素返回

console.log(arr);
var res = arr.shift();
console.log(res);

在这里插入图片描述


5.Splice() 通过索引操作的内置方法 splice() 会修改原数组 将删除后元素 组成的新数组返回

如果只传一个参数是从哪个索引值开始删 删到最后

如果传二个参数 第二个参数代表删除几个

如果传了三个或者更多的参数 从第三个参数开始作为被替换的元素插入到数组当中

console.log(arr);
var res = arr.splice(1,2,5,6);
console.log(res);

在这里插入图片描述


二.数学对象

1.Math.abs() 绝对值

console.log(Math.abs(-10));

2.Math.floor() 向下取整

console.log(Math.floor(1.9));

3.Math.ceil() 向上取整

console.log(Math.ceil(1.1)); 

4.Math.round() 四舍五入

console.log(Math.round(1.5)); 

5.Math.max 最大值

console.log(Math.max(1,10,30,-40));

6.Math.min 最小值

console.log(Math.min(-4,10,32));

7.Math.random() 0-1之间的随机数

console.log(Math.random());

结果如下:
在这里插入图片描述

封装函数 取n-m之间随机整数

function rand(n,m){
			return Math.floor(Math.random()*(m-n+1))+n;
		}

三.定时器

一般情况下,定时器用来完成动画效果
定时器不会阻塞程序执行,并行执行的 返回一个数字为定时器的标识


1.单次定时器 setTimeout()

启动一个单次定时器 等待指定时间 执行一次指定的函数

格式: setTimeout(函数,等待时间值)

var flag = setTimeout(function(){
			a++;
			console.log('我是单次定时器',a);
		},3000);

console.log(a,'我是a');
console.log(flag);

在这里插入图片描述


2.多次定时(循环定时器) setInterval()

var flag1 = setInterval(function(){
			a++;
			console.log('我是多次定时器',a);

		},3000);

console.log(a);

在这里插入图片描述


3.清除定时器

clearTimeout() 清除单次定时器

clearTimeout(flag);

在这里插入图片描述

clearInterval() 清除多次定时器
配合单次定时器使用 让多次定时器执行3次后清除

setTimeout(function(){
			// 清除多次定时器
			clearInterval(flag1);
		},9001)

在这里插入图片描述


四.正则表达式

作用: 使用单个字符,去检索匹配符合某个规则字符串

制定一个规则对象

1.使用系统内置的RegExp() 如果有转移字符必须两次转义
var reg = RegExp(‘a’);

2.直接定义 推荐使用第二种
var reg = /a/;

3.声明正则对象:
new RegExp();
/hehe/

4.普通字符

		\w  匹配单个的数字字母下划线
		var reg = /\w/;

		\W  匹配单个非数字字母下换线
		var reg = /\W/
		\d   匹配单个数字
		var reg = /\d/;

		\D  匹配单个非数字
		var reg = /\D/;
		\s 匹配单个的空白符
		var reg = /\s/;
		\S  匹配单个的非空白符
		var reg = /\S/;

5.特殊字符 . * + ? {} [] () | ^ $

			. 除了换行符以外的单个任意字符
			var reg = /./;
			* 限制匹配次数 0次或者多次 如果第一个就不符合直接返回 如果有连续的符合要求 都带走直到不符合为止
			var reg = /.*/;	
			+至少匹配1次 或多次
			var reg = /.+/;	
			? 禁止贪婪 尽可能少的去匹配
			var reg = /.+?/;
			{} 限制匹配的次数
			 {n,} 至少匹配n个
			var reg = /a{3,}/
			 {n,m} 最少要有n个 最多m个 n-m个之间也符合要求
			var reg = /\d{3,8}/

			[] 类型范围 一个中括号只匹配一次
			var reg = /[b-z]/;
			var reg = /[a-zA-Z0-9_]/; // \w
			var reg = /[^a-zA-Z0-9]/; // 如果^被用在【】中代表取反
			var reg = /[.]/; 中括号中的. * + 就代表表纯粹的字符串 没有其他意义
			
			() 子组 不会对整个规则产生影响 只是将 子组当中匹配到的内容作为新的元素返回
		 |   或  一般配合子组使用 多个个条件
		var str = '291707309@qq.org'
		var reg = /\w+@qq[.](com|cn|org)/

6.内置方法

	test() 返回布尔值 如果匹配成功返回true 没有成功返回false
	
	exec() 如果匹配到了返回由匹配结果组成的数组 如果没有匹配到返回null

在这里插入图片描述

有开始结束符的例子

var str = 'a12345&1a23456bd';

// 声明正则对象
var reg = /^a.+a.+b$/;

// 获取匹配结果 test() exec()
var res1 = reg.test(str);
var res2 = reg.exec(str);
console.log(res1);
console.log(res2);

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值