python全栈开发第五天(javascript中的 数组的操作,数学对象,定时器,正则表达式)

数组的操作

1、创建数组
2、索引操作
3、内置方法 push() pop() unshift() shift() splice()

	<script type="text/javascript">
		//数组的定义
			//1、使用系统内置的Array()创建一个数组
			// var arr=new Arry();
			//2. 直接定义
			var arr=['a','b'];

		//通过索引操作数组可以修改 可以添加 可以查询
			// arr[0]="A" ;
			// arr[2]='c';
			// arr[10]='0';
			// console.log(arr[9]);
			// console.log(arr);

		//内置方法
			//从尾部添加push() 会改变原数组 
			console.log(arr);
			arr.push('c','d');
			console.log(arr);
			// 弹出数组最后一个元素pop() 会改变原数组 有返回值 将弹出后的元素返回
			var res=arr.pop();
			console.log(arr);
			console.log(res);
			// 从前面插入元素 会改变原数组
			arr.unshift('A','B');
			arr.unshift('C');
			console.log(arr);

			// 从前面删除第一个元素 会改变原数组 有返回值 将删除后的元素返回
			var res=arr.shift();
			console.log(arr);
			console.log(res);

			// 通过索引操作的内置的方法 splice() 会修改原数组 将删除后元素 组成的新数组返回
			//如果只传一个参数 是从哪个索引开始删 删到最后
			// 如果传两个参数 第二个参数代表删几个
			// 如果传入了三个或者更多的参数 从第三个参数开始作为被替换的元素插入到数组当中
			var res=arr.splice(1,2,5,6);
			console.log(arr);
			console.log(res);
	</script>

数学对象

Math.abs() 绝对值
Math.floor() 向下取整
Math.ceil() 向上取整
Math.round()四舍五入
Math.random()0-1之间的随机数

<script type="text/javascript">
		console.log(Math.abs(-10));
		console.log(Math.floor(1.9));
		console.log(Math.ceil(1.1));
		console.log(Math.round(1.5));
		console.log(Math.max(1,10,-32));
		console.log(Math.min(-12,23,34));

		console.log(Math.random());

		// 我要取0-10随机整数
		var res=Math.floor(Math.random()*11);
		// 1-10之间的随机数
		var res=Math.floor(Math.random()*10)+1;
		// 3-10之间的随机整数
		var res=Math.floor(Math.random()*(10-3+1))+3;

		// 封装函数 取n-m之间随机整数
		function rand(n,m)(){
			return Math.floor(Math.random()*(m-n+1))+n;
		}
	</script>

定时器

一般情况下,定时器用来完成动画效果
定时器不会阻塞程序执行,并行执行的 返回一个数字为定时器的标识
单次定时器
setTimeout()
多次定时(循环定时器)
setInterval()

清除定时器
clejsarTimeout() 清除单次定时器
clearInterval() 清除多次定时器

<body>
	<script type="text/javascript">
		var a = 1;
		// 启动一个单次定时器 等待指定时间 执行一次指定的时间
		// 格式 setTimeout(函数,等待时间)
		var flag=setTimeout(function(){
			a++;
			console.log("我是单次定时器",a);
		},3000);

		console.log(a,'我是a');
		console.log(flag);//返回的一般是数字1 代表当前的定时器
		
		// 清除单次定时器
		// clearTimeout(flag);


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

		// 配合单次定时器使用 让多次定时器执行3次后清除
		setTimeout(function(){
			// 清除多次定时器
			clearInterval(flag1);
		},9001);
	</script>
</body>

正则表达式

使用单个字符,去检索匹配符合某个规则字符串
声明正则对象:
new RegExp();
/hehe/
内置方法:
test() exec()
转义字符:
\w \W \d \D \s \S
特殊元字符
. * + ? {} [] () | ^ $

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>正则表达式</title>
</head>
<body>
	<script type="text/javascript">
		var str = 'aa.aa 12\n& _a\n18693041795&17643983920c';
		

		// 制定一个对象
		// 1.使用系统内置的RegExp() 如果有转义字符必须两次转义
		// var reg= RegExp('a');
		// 2.直接定义 推荐使用第二种
		// var reg=/a/;

		// =============================================
		// 正则表达式 由 字符串和转义字符 还有特殊字符组成
		// 普通字符
		// 转义字符
			// \w 匹配单个的数字字母下划线 
			// var reg = /\w/;
			// \W 匹配单个非数字字母下划线
			// var reg =/\W/;
			// \d 匹配单个数字
			// var reg =/\d/;
			// \D 匹配非单个数字;
			// var reg = /\D/;
			// \s 匹配单个空白符
			// var reg=/\s/;
			// \S 匹配单个非空白符
			// var reg=/\S/;

		//特殊字符. * + ? {} [] () | ^ $
			// .除了换行符以外的单个任意字符
			// 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)/
			// var str='a123456'
			// var reg=/[0-9]\w{5,7}/
			


		//内置方法
		//test()返回布尔值 如果匹配成功返回true 没有成功返回false
		//exec()如果匹配到了返回由匹配结果组成的数组 如果没有匹配到返回null
		var res1=reg.test(str);
		var res2=reg.exec(str);
		console.log(res1);
		console.log(res2);
	</script>
</body>
</html>
<meta charset="utf-8">
	<title>Document</title>
</head>
<body>
	<script type="text/javascript">
		var str='a12345&1a23456b';
		// 声明正则对象 ^限制开头是什么 $限制结尾必须是什么
		var reg=/^a.+b$/;
		// 获取匹配结果 test() exec()
		var res1=reg.test(str);
		var res2=reg.exec(str);
		console.log(res1);
		console.log(res2);
	</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值