1.Array数组
1.1 创建数组
ECMAScript数组可以是任何类型:同一个数组的每一个值可以是不同类型。
使用Array构造函数
var array_1 = new Array(1,3,5,7,8,10,12);//[1,3,5,7,8,10,12]
var array_2 = new Array(10);//[]
使用数组字面量表示法
var array_3 = [1,3,5,7,8,10,12];
1.2 访问数组
利用下标(索引)
console.log(array[0]);
1.3 数组重要属性
长度length
array_3.length;
可以利用length属性末尾删除:
array_3.length=array_3.length-1;
也可以利用Length属性扩充数组长度
array_3[100]=100;
console.log(array_3.lengh);//99
1.4 遍历数组
for(i=0;i<array_3.length;i++){
console.log(array_3[i]);
}
1.5 数组的重要方法
栈方法:push()
push()
入栈(添加新元素到数组末尾),返回值为操作之后数组的长度。
栈方法:pop()
pop()
出栈(获取并删除最后一个元素),返回值为操作之后数组的长度。
栈方法:unshift()
unshift()
在数组的最前面添加元素,返回值为操作之后数组的长度。
栈方法:shift()
shift()
删除第一个元素。
转换方法:join()
join()
把数组中的所有元素放入一个字符串。
var numbers = [2,4,5];
str=numbers.join();
console.log(str);//2,4,5(默认用,隔开)
var word = ['i','am','boy'];
var wordstr=words.join('-');
console.log(wordstr);//i-am-boy
var newstr = words.join('');
console.log(newstr);//iamboy
重排序:reverse()
reverse()
颠倒顺序,得到一个反序的数组
排序:sort()
sort()
默认先调用toString()方法,返回一个数组按首字母经过从小到大排序的结果。sort()方法可以接收一个比较函数作为参数。
var arr=[5,3,2,4,1];
//降序
arr.sort(function(a,b){return b-a});
//升序
arr.sort(function(a,b){return a-b});
合并数组:concat()
concat()
将两个数组连接到一起,返回值为一个新数组。
var arr1=[1,2,3],
arr2=[3.4.5];
var arr3=arr1.concat(arr2);//[1,2,3,3,4,5]
var arr4=arr1.concat(arr2,[7,8,9])//[1,2,3,3,4,5,7,8,9]
截取:slice()
slice()
从已有数组中返回选定的元素。
var arr=[0,1,2,3,4,5,6,7,8,9,10];
arr.slice();//[0,1,2,3,4,5,6,7,8,9,10]
arr.slice(0,3);//[0,1,2]
arr.slice(-4,-1);//[7,8,9]
arr.slice(9,-1);//[9]
splice()
splice()删除
splice(index,count)
:删除从Index处开始的0个或多个元素,返回值为含有被删除元素的数组。count=0,不删除;不设置count,则删除从index开始的所有值。
splice()插入
splice(index,0,item1,item2...itemX)
:在指定位置插入值,index为起始位置,第二个参数必须为0,返回值是插入后的数组。
splice()替换
splice(index,count,item1,item2...itemX)
:在指定位置插入值,且同时删除任意数量的项。返回值为从原始数组中删除的项,如果没有删除任何项,则返回空数组。
indexOf()
indexOf(searchvalue,startIndex)
:从数组开头(位置0)开始向后查找。
searchvaule
必须,startIndex
可选,没找到时返回-1
var arr=[0,1,2,3,4,5,6,7,8,9,10];
order = arr.indexOf(5)
console.log(order)//5
lastIndexOf()
从末尾开始查找
2.String
字符串常用方法
charAt()和charCodeAt()
charAt(index)
:返回字符串对象中index位置的字符。
charCodeAt(index)
:返回字符串对象中index位置的字符的编码。
var str='Northwest university';
console.log(str.charAt(1));//o
console.log(str.charCodeAt(1));//111
indexOf()和lastIndexOf()
indexOf("o")
:从第一个字符中搜索给定的子字符串,返回子字符串的位置。没找到时返回-1。
var str='Northwest university';
console.log(str.indexOf('ver'));//13
console.log(str.indexOf('@'));//-1
lastIndexOf()
:从后往前检测(最后一个字符索引为0)
slice()
slice(start,end)
:截取子字符串。
substring()
substring()
方法和slice()
使用方法一致,当参数为负数时自动将参数转化为0
substr()
substr(start,length)
:截取子字符串。
split()
split(separator)
:把一个以separator分隔的字符串分割成字符串数组。
var str='Northwest university';
console.log(str.split(' '));//["Northwest", "university"]
replace()
replace(regexp/substr,replacement)
:在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
返回值:被替换之后的新String,源字符串不会改变。
参数:
regexp
:必需,规定子字符串或要替换的模式的RegExp对象。
replacement
:必需,一个子字符串值。
var str='Northwest university';
console.log(str.replace(' ','-'));//Northwest-university
toUpperCase()和toLowerCase()
toUpperCase()
:将字符串转换为大写,不改变原字符串。
toLowerCase()
:将字符串转换为小写,不改变原字符串。
综合应用案例:CSS样式名称的驼峰转换
function camelBack(str){
var arr = str.split('-');
//console.log(arr);
var camelStr='';
for(var i=0;i<arr.length;i++){
if(i!=0){
start = arr[i].charAt(0);
start = start.toUpperCase();
arr[i]= start+arr[i].substr(1);
}
//console.log(arr[i]);
camelStr+=arr[i];
}
return(camelStr)
}
var str = 'border-left-color';
camelStr = camelBack(str);
console.log(camelStr);//borderLeftColor
3.Math
min():求最小值
max():求最大值
Math.ceil(num):向上取整
Math.floor(num):向下取整
Math.round(num):四舍五入取整
Math.abs(num):返回num的绝对值
Math.random():返回一个大于等于0小于1的随机数
4.date
创建一个日期时间对象
new Date()
:创建一个日期时间对象。