一、排序
reverse()
作用:将数组元素逆序(数组反转)
返回值:逆序后的数组
是否影响原数组:是
var arr =[34,56,23,12];
console.log(arr.reverse()); // [12, 23, 56, 34]
console.log(arr); // [12, 23, 56, 34]
sort()
作用:将数组元素按字符串的编码(ASCII编码)从小到大的排序
返回值:排序后的数组
是否影响原数组:是
var arr =[4,2,100,3,5,true,"a"]
console.log(arr.sort()); // [100, 2, 3, 4, 5, 'a', true]
console.log(arr); // [100, 2, 3, 4, 5, 'a', true]
重点:数组中的数字排序
sort(function(a,b){ return a - b}) 从小到大
sort(function(a,b){ return b - a}) 从大到小
var arr =[4,2,100,3,5]
console.log(arr.sort(function(a,b){return b - a}))
console.log(arr)
二、转换
toString()
作用:将数组转为字符串
返回值: 转换后的字符串 (以逗号分隔)
是否影响原数组:否
var arr = [34,"hello",true,false,45,12];
console.log(arr.toString()); // 34,hello,true,false,45,12
console.log(arr); // [34,"hello",true,false,45,12]
用于简单变量转成指定进制的字符串
toString(进制数)
var iNum = 88;
console.log(iNum.toString(2)); //1011000
console.log(iNum.toString(8)); //130
console.log(iNum.toString(16)); //58
join
作用:将数组转换为以指定连接符连接的字符串
返回值:转后的字符串
是否影响原数组:否
var arr = [34,"hello",true,false,45,12];
console.log(arr.join('*')); // 34*hello*true*false*45*12
console.log(arr)
for-in
循环作用单一,只能遍历数组和对象。对象只能使用for-in遍历
for(变量 in 数组/对象 ){
//循环操作
}
案例
var arr = [1,4,5,3,5];
for(var i in arr){
console.log(i + "----" + arr[i]);
}
var obj = {
name:"张三",
age:89,
sex:"男"
}
for(var key in obj){
console.log(key + "==" + obj[key] )
}
值传递和引用传递
栈:先进后出
堆:队列优先,先进先出
一般情况是简单数据类型在栈内存中维护(值传递),引用数据类型在堆内操中维护(引用传递)
简单数据类型:Number、String、Boolean、null、undefined
引用数据类型(复杂数据类型):数组、对象
严格模式(ES5)
use strict
启动严格模式:只能加在作用域的开头部分,建议加在函数作用域的开头部分