一、数组的操作
// 数组的定义
// 使用系统内置的Array()创建一个数组
var arr=new Array();
// 直接定义
var arr=['a','b'];
// 通过索引操作数组,可以修改,添加查询
arr[0]='A';
arr[2]='c';
arr[10]='o';
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(res);
console.log(arr);
// 从前面插入元素,会改变原数组
arr.unshift('A','B');
arr.unshift('C');
console.log(arr);
// 从前面删除第一个元素,会改变元素组,有返回值,将删除的元素返回
var res=arr.shift();
console.log(res);
console.log(arr);
// 通过索引操作的内置方法splice()会修改原数组,将删除的元素组成新的数组返回
// 如果只传一个参数,是从索引值开始删到最后
// 如果传两个参数第二个参数代表删除几个
// 如果传三个参数或更多,从第三个参数起作为被替换的元素插入到数组中
var res=arr.splice(1,2,5,6);
console.log(arr);
console.log(res);
二、数学对象
abs绝对值
floor向下取整
ceil向上取整
round把数四舍五入为最接近的整数
max取最大数
min取最小数
// 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,30,-40));
// console.log(Math.min(-4,10,32));
// console.log(Math.random());
// 0-9随机整数
console.log(Math.floor(Math.random()*10))
//0-0.999 *10 0-9
// 0-10
console.log(Math.floor(Math.random()*11))
//0-0.999 *11 0-10.999 0-10
// 3-10随机整数
console.log(Math.floor(Math.random()*(10-3)))
// 0-6.999
console.log(Math.floor(Math.random()*(10-3+1))+3)
//3-10.999 3-10
三、定时器
一般情况下用来完成动画效果
定时器不会阻塞程序执行,并行执行,返回一个数组为定时器的标识
单次定时器
setTimeout()
多次定时器
setTerval()
var a=1;
// 启动一个单次定时器,等待执行时间,执行一次指定函数
var flag=setTimeout(function(){
a++;
console.log('单次定时器',a);
},3000);
console.log(a,'a');
console.log(flag);
// 清除单次定时器
clearTimeout(flag);
//多次定时器
var flag1=setInterval(function(){
a++;
console.log('我是多次定时器',a);
},3000);
console.log(a);
// 配合单次定时器使用,让多次定时器执行3次后清除
setTimeout(function(){
clearInterval(flag1);
},9001);
四、正则表达式
使用单个字符,去检索匹配符合某个规则的字符串
声明正则对象
1、new RegExp()
2、/.../
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=/.*/;
// + 至少匹配一次 或多次
// 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_]/;
// var reg=/[^a-zA-Z0-9_]/;
// var reg=/[.]/;^d代表取反
// () 子组 不会对整个规则产生影响 只是将子组当中匹配到的内容作为新的元素作为新的元素返回
// | 或 一般配合子组使用 多个条件
// 内置方法
// test()返回布尔值 如果匹配成功返回true 没有成功返回false
// exec()如果匹配到了返回由陪陪结果组成的数组,如果没有匹配到返回null
var res1=reg.test(str);
var res2=reg.exec(str);
console.log(res1);
console.log(res2);