1.Array
2.String
3.Math
4.Date
5.RegExp
6.JSON
Array 数组
数组主要是用来存储一组数据的
创建数组:
1.使用Array构造函数
语法:new Array()
//创建一个保存颜色的数组var colors=new Array(3);var nums=new Array(1,3,6,9);console.log(colors); //[]var cols=['red','yellow','green'];console.log(cols); //['red','yellow','green']var infos=[6,'marry',true,{email:'mmarry@sohu.com'}];console.log(infos);复制代码
数组元素的读写
读取和设置值时,使用方括号[]并提供相应的索引,
说明:索引是从0开始的正整数
var cols=['red','yellow','green'];console.log(cols[1]); // yellow复制代码
var colors=new Array(3);colors[0]='#f00';colors[1]='0f0';colors[2]='00f';console.log(colors);复制代码
数组长度
语法:array.length
功能:获取数组array的长度
返回值:number
说明:1.通过设置length可以从数组的末尾移除项或向数组中添加新项。
var arr=['a','b','c','d'];console.log(arr.length); //4arr.length=3;console.log(arr); //['a','b','c',]复制代码
//数组的遍历var arr=['a','b','c','d'];for(var i=0;i
数组的方法 ,栈方法
1.push() //添加到数组的尾部
2.unshift() //添加到数组的开头
3.pop() //删除最后一个元素
4.shift() //删除第一个元素
5.join() // 把数组转换成字符串(以一种形式连接)
6.reverse() //用于颠倒数组中元素的顺序
7.sort() //用于对数组的元素进行排序
8.concat() //用于连接两个或多个数组
9.slice() //从已有的数组中返回选定的元素
10.splice() //删除从index处开始的零个或多个元素,也可插入、替换
11.indexOf() //从数组的开头(位置0)开始向后查找
11.lastindexOf() //从数组的末尾开始向后查找
1.push()
语法:arrayObject.push(newele1,newele2,newele3,....neweX)
功能:把它的参数顺序添加到arrayObjgct的尾部。
返回值:把指定的值添加到数组最后的新长度。
var colors=new Array("red","green");colors.push("blue","yellow");console.log(colors);复制代码
2.unshift()
语法:arrayObject.unshift(newele1,newele2,newele3,....neweX)
功能:把它的参数顺序添加到arrayObjgct的开头。
返回值:把指定的值添加到数组最后的新长度。
var nums=[2,7,8,6];var sizs=nums.unshift(99,66);console.log(size); //6console.log(nums); //[99,66,2,7,8,6]复制代码
3.pop()
语法:arrayObject.pop()
功能:删除arrayObjgct的最后一个元素。
返回值:被删除的那个元素。
var nums=[2,7,8,6];var n=nums.pop();console.log(n); //6console.log(nums); //[2,7,8]复制代码
4.shift()
语法:arrayObject.shift()
功能:删除arrayObjgct的第一个元素。
返回值:被删除的那个元素。
var nums=[2,7,8,6];var n=nums.shift();console.log(n); //2console.log(nums); //[7,8,6]复制代码
5.join()
语法:arrayObject.join(separator)
功能:用于把数组的所有元素放入一个字符串
返回值:字符串
var nums=[2,4,5];var str=nums.join(); console.log(str); //2,4,5复制代码
var words=["border","left","color"];var wordstr=words.join("-");console.log(wordstr); //border-left-color复制代码
6.reverse()
语法:arrayObject.reverse()
功能:用于颠倒数组中元素的顺序
返回值:数组
ar nums=[2,4,5];nums.reverse();console.log(nums); //[5,4,2]复制代码
7.sort()
语法:arrayObject.sort()
功能:用于对数组的元素进行顺序
返回值:数组
说明:1.即使数组中的每一项都是数值,sort()方法比较的也是字符串。 2.sort()方法可以接收一个比较函数作为参数。
var arr=[9,23,15,88,12];console.log(arr.sort()); //[12,15,23,88,9]console.log(arr.sort(function(a,b){ return a-b})); //[9,12,15,23,88]复制代码
8.concat()
语法:arrayObject.concat(arrayX,arrayX,...,arrayX)
功能:用于连接两个或多个数组
返回值:数组
var arr1=['a','b','c'], arr2=['d','e',1,3], arr3;arr3=arr1.concat(arr2,['m',99,8]);console.log(arr3);复制代码
9.slice()
语法:arrayObject.slice(start , end)
功能:从已有的数组中返回选定的元素
参数:start(必需)规定从何处开始选取,如是负数,从数组尾部开始算起
end(可选)规定从何处结束选取,是数组片段结束处的数组下标
说明:1.如没有指定end,切分的数组包含从start到数组结束的所有元素。2.如slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。
返回值:数组
var colors=["red","green","blue","yellow","orange"];var newColors=colors.slice(1,3);console.log(newColors); //["green","blue"]复制代码
var colors=["red","green","blue","yellow","orange"];var newColors=colors.slice(-2,4); //3(数组长度+ -2),3console.log(newColors); //["blue"]复制代码
//完成以下代码段,实现b数组对a数组的拷贝,方法越多越好var a=[1,'yew',3], b;//1.数组遍历,pushb=[]for(var i=0;i
10.splice()
语法:删除:arrayObject.splice(index , count)
插入:arrayObject.splice(index , 0,item1,...itemX)
功能:删除:从index处开始的零个或多个元素
插入:在指定位置插入值
返回值:数组
说明:count是要删除的项目数量,如果设置为0,则不会删除项目。如果不设置,则删除从index开始的所有值。item1,...itemX是要插入的项
//删除的操作var arr=['a','b','c','d','e','f'];var delArr=arr.splice(2,2);console.log(arr); //['a','b','e','f']console.log(delArr); //['c','d']复制代码
//插入的操作var arr=['a','b','c','d','e','f'];var insertArr=arr.splice(3,0,'m','n');console.log(arr); //['a','b','c','m','n','d','e','f']console.log(insertArr); //[]复制代码
//插入的操作var arr=['a','b','c','d','e','f'];var replaceArr=arr.splice(1,2,'x','y','z');console.log(arr); //['a','x','y','z','e','f']console.log(replaceArr); //['b','c']复制代码
11.indexOf
语法:arrayObject.indexOf(searchvalue , startIndex)
功能:从数组的开头(位置0)开始向后查找
参数:searchvalue:必需,要查找的项,startIndex:可选,起点位置的索引。
返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1
var nums=[1,7,5,7,8,1,6,9];var pos=nums.indexOf(7); //检测第一个7的索引console.log(pos); //1复制代码
var nums=[1,7,5,7,8,1,6,9];var pos=nums.indexOf(7,2); //从索引为3开始检测7的索引console.log(pos); //3复制代码
12.lastindexOf
语法:arrayObject.lastindexOf(searchvalue , startIndex)
功能:从数组的末尾开始向后查找
参数:searchvalue:必需,要查找的项,startIndex:可选,起点位置的索引。
返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1
var nums=[1,7,5,7,8,1,6,9];var pos=nums.lastindexOf(1); //从末尾开始检测1的索引console.log(pos); //5复制代码
//封装一个方法实现indexOf的功能兼容低版本浏览器var nums=[1,7,5,7,8,1,6,9]; function ArrayIndexOf(arr,value){ for(var i=0;i
Sting 的方法
1.charAt() //查看索引位置上的字符
2.charCodeAt() //查看索引位置上的字符编码
3.indexOf() //查看字符在字符串上的索引
4.lastIndexOf() //从后往前查看字符在字符串上的索引
5.slice() //截取子字符串
6.substring() //语法及功能同slice()完全一样,截取子字符串,碰到负数转化为0
7.substr() //截取子字符串
8.split() //把一个字符串分割成字符串数组
9.replace() //替换字符
10.toUpperCase() //把字符串转为大写
11.toLowerCase() 把字符串转为小写
1.charAt()与
语法:stringObject.charAt(index)
功能:返回stringObject中index位置字符。
2.charCodeAt()
语法:stringObject.charCodeAt(index)
功能:返回stringObject中index位置字符的字符编码。
var str="hello world";console.log(str.charAt(4)); //oconsole.log(str.charCodeAt(4)); //111(o的编码)复制代码
3.indexOf()
语法:stringObject.indeOf("o")
功能:从一个字符串中搜索给定的子字符串,返回子字符串的位置
返回值:数值
说明:如果没有找到该子字符串,则返回-1
var email="marry@163.com";console.log(email.indexOf("@")); //5console.log(email.indexOf("rr")); //2复制代码
4.lastIndexOf()
语法:stringObject.lastIndeOf("o")
功能:从一个字符串中搜索给定的子字符串,返回子字符串的位置
返回值:数值
说明:如果没有找到该子字符串,则返回-1
var email="marry.mailoo@163.com";console.log(email.lastIndexOf("o")); //18console.log(email.lastIndexOf(".")); //16复制代码
5.slice()
语法:stringObject.slice(start,end)
功能:截取子字符串
说明:1.start:必需,指定子字符串的开始位置。2.end:可选,表示子字符串到哪里结束,end本身不在截取范围之内,省略时截取至字符串的末尾。
var str="hello world";console.log(str.slice(7,10)); //orlconsole.log(str.slice(-3)); // 字符串长度+ -3复制代码
6.substring()
说明:语法及功能同slice()完全一样。
区别在于:1.当参数为负数时,自动将参数转换为0,2.substring()会将较小的数作为开始位置,较大的数作为结束位置。
var str="hello world";console.log(str.substring(7,10)); //orlconsole.log(str.sunbstring(-7,5)); // 负数转化为0,hello复制代码
7.substr()
语法:stringObject.substr(start,len)
功能:截取子字符串
说明:1.start:必需,指定子字符串的开始位置。2.len:可选,表示截取的字符总数,省略截取到末尾。3.当start为负数时,会将传人的负值与字符串长度相加,4.当len为负数时,返回空字符串
var str="hello world";console.log(str.substr(6,3)); //worconsole.log(str.sunbstr(-5,4)); //字符串长度+ -5 worl 复制代码
//获取扩展名var url="http://baidu.com/index.txt";function getFileFormat(url){ //获取.在url中出现的位置 var pos=url.lastIndexOf(".") return url.substr(pos);}var formatName = getFileFormat(url);var picFormat=getFileFormat("123324.jpg");console.log(formatName);console.log(picFormat);复制代码
8.split()
语法:stringObject.split(separator)
功能:把一个字符串分割成字符串数组。
返回值:Array
说明:separator:必需,分隔符
var str="welcome-to-beijing";var date="2016/05/05";//使用split将str转换为数组var arr = str.split('-');var dateArr = date.split("/");console.log(arr); //['welcome','to','beijing']console.log(dateArr); //['2016','05','05']复制代码
9.replace()
语法:stringObject.replace(regexp/substr,replacement)
功能:在字符串中用一些字符串替换另一些字符,或者替换一个与正则表达式匹配的子串。
返回值:String
参数:regexp:必需,规定子字符串或要替换的模式的RegExp对象。replacement:必需,一个字符串值。
var tel="010-1234678,400-100-9098,010-86768689";var newTel=tel.replace(','," ");console.log(newTel)复制代码
10.toUpperCase()
语法:stringObject.toUpperCase()
功能:把字符串转为大写
var str="hello world";console.log(str.toUpperCase()); //HELLO WORLD复制代码
11.toLowerCase()
语法:stringObject.toLowerrCase()
功能:把字符串转为小写
var str="hHELLO WORLD";console.log(str.toLowerCase()); //hello world复制代码
function camelback(str){ //通过-这个分隔符将str拆分成数组 var arr =str.split("-"),newStr=arr[0]; for(var i=1,len=arr.length;i
Math对象
1.min() //求一组数中的最小值。
2.max() //求一组数中的最大值。
3.ceil() //向上取整
4.floor() //向下取整
5.round() //四舍五入取整
6.abs() //返回绝对值
7.random() //返回大于等于0小于1的一个随机数
1.Math.min()
语法:Math.min(num1,num2,...numN)
功能:求一组数中的最小值。
返回值:Number。
var min=Math.min(5,-4,0,9,108,-55);console.log(min); //-55,(min中如果出现非数字就返回NaN)复制代码
2.Math.max()
语法:Math.max(num1,num2,...numN)
功能:求一组数中的最大值。
返回值:Number。
var max=Math.max(5,-4,0,9,108,-55);console.log(max); //108,(min中如果出现非数字就返回NaN)复制代码
3.Math.ceil()
语法:Math.ceil(num)
功能:向上取整,即返回大于num的最小整数。
返回值:Number。
var num=Math.ceil(189.09);console.log(num); //190复制代码
4.Math.floor()
语法:Math.floor(num)
功能:向下取整,返回num的整数部分。
返回值:Number。
var num=Math.floor(189.09);console.log(num); //189复制代码
5.Math.round()
语法:Math.round(num)
功能:将数值四舍五入为最接近的整数
返回值:Number。
var num=Math.round(189.09);console.log(num); //189复制代码
6.Math.abs()
语法:Math.abs(num)
功能:返回num的绝对值
返回值:Number。
var nums=-55;console.log(Math.abs(nums)); //55复制代码
7.Math.random()
语法:Math.random()
功能:返回大于等于0小于1的一个随机数
返回值:Number。
说明:求n到m之间的随机整数的公式:
random=Math.floor(Math.random()*(m-n+1)+n);
var random=Math.random();console.log(random);复制代码
function getRandom(n,m){ var choise=m-n+1; //随机整数的个数 return Math.floor(Math.random()*(m-n+1)+n); }var random1=getRandom(2,6);console.log(random1)复制代码
date对象
创建一个日期对象
语法:new Date();
功能:创建一个日期时间对象
返回值:不传参的情况下,返回当前的日期时间对象
//创建一个日期时间对象var today=new Date();console.log(today);复制代码
var weeks=['日','一','二','三','四','五','六'], today=new Date(), year=today.getFullYear(), month=today.getMonth()+1, date=today.getDate(), week=today.getDay(), hours=today.getHours(), minutes=today.getMinutes(), seconds=today.getSeconds(), time=year+'年'+month+'月'+date+'日'+hours+'时'+minutes+'分'+seconds+'秒 星期'+weeks[week];console.log('现在是:'+time);复制代码
var today=new Date();today.setUTCFullYear(2017);console.log(today);复制代码
RegExp 正则表达式
描述字符串规则的表达式
/pattern/attrs
/13566668888//jerry/i 复制代码
语法:regexObj.test(str)
说明:测试正则表达式与指定字符串是否匹配
/13566668888/.text('13566668888'); //true复制代码
复制代码
锚点:匹配一个位置
^ :起始位置,
$:结束位置
\b:单词边界
/\.jpg$/.test('1.jpg') //true/\.jpg$/.test('1.jpg abc') //false/^http:/.test('http://www.baidu.com') //true/^http:/.test('qhttp://www.baidu.com') //false/\bis\b/.test('this') //false/\bis\b/.test('this is tom') //true复制代码
/^13566668888$/ //以1开头,以8结尾复制代码
字符类:匹配一类字符中的一个
[abc]:a或b或c
[0-9]:一个数字,[^0-9]:非数字的一个字符
[a-z]:一个字母
. :任一字符(换行除外)
/[0-9]/.test('123') //true/[0-9]/.test('abc') //false/[^0-9]/.test('abc') //true 复制代码
复制代码
元字符:具有特殊意义的字符
^, $, \b
\d === [0-9] 0-9的任意数字 \D === [^\d] 非数值
\s 空白符 \S 非空白符
\w [A-Za-z0-9_] 单词字符 \W 非单词字符
/\d/.test('123') //true复制代码
复制代码
量词:出现的次数
语法:{m,n}:m到n次
* :{0,}
?: {0,1}
+: {1,}
复制代码
转义符:需要匹配的字符是元字符
\ 用来转义
/^http:\/\///@16\.com/复制代码
多选分支
或
/thi(c|n)k//\.(png|jpg|jpeg|gif)$/复制代码
复制代码
捕获:保存匹配到的字符串,日后再用
():捕获
/(.+)@(163|126|188)\.com$复制代码
(?:) :不捕获
/(.+)@(?:163|126|188)\.com$复制代码
使用:
$1,$2,...
api参数或返回值
str.match(regexp)
获取匹配的字符串
复制代码
str.replace(regexp,replacement)
替换一个子串
var str="The price of tomato is 5.";str.replace(/(\d+)/,'$1.00'); //The price of tomato is 5.00.复制代码
var str="The price of tomato is 5,the price of apple is 10.";str.replace(/(\d+)/g,'$1.00'); //The price of tomato is 5.00,the price of apple is 10.00.复制代码
regexpObj.exec(str)更强大的检索
更详尽的结果:index
过程的状态:lastIndex
script> var reg = /(.)(\d+)/g; var scores = 'Tom $88, Nicholas ¥100, jack £38.'; var result; while(result = reg.exec(scores)){ console.log(result); console.log(reg.lastIndex); // reg.lastIndex += 10; }复制代码
JSON
JSON.parse(text)
JSON->JS
var userJson='{\ "id":1,\ "nick":"春鸟",\ "avatar":"1.jpg",\ "tags":null,\ "authed":false\}'复制代码
var user= JSON.parse(userJson);复制代码
JSON.stringify(value)
JS->JSON
var user={ id:1, nick:"春鸟", avatar:"1.jpg", tags:null, authed:false}复制代码
JSON.stringify(user);复制代码