Js中一个函数应该只返回一种类型的值 虽然没有办法返回多参但是有其他实现的方式
比如返回json array相当于变相的实现多参
函数既可以通过arguments获取传递的参数, 也可以通过声明函数时指定的形参来获取
window.onload = function () {
css(1,2,3,4,5)
};
function css(a, b, c, d, e) {
var i = 0;
for (i in arguments) {
alert(arguments[i]);
}
alert(a);
}
数组
var arr=[12, 5, 8, 9];
var arr=new Array(12, 5, 8, 9);
没有任何差别,[]的性能略高,因为代码短
length 可以用来获取数组长度 也可以用来清空数组 (很奇怪arguments设置了length = 0 仅仅使得arguments的length为0但是仍然可以通过arguments[0]方位元素)
var ary = [1,2,3,4];
ary.length = 0;
alert(ary.length[0]); //此时数组内元素已被清空 返回undefined
添加
push(元素),从尾部添加
unshift(元素),从头部添加
删除
pop(),从尾部弹出
shift(),从头部弹出
<span style="white-space:pre"> </span>var attr = [1, 2, 3, 4];
//push/pop is add/delete element in the end
attr.push(4);
attr.pop();
alert(attr);
//shift/unshift is add/delete element in the top
attr.shift();
alert(attr);
attr.unshift(5);
alert(attr);
sort([
比较函数
])
,排序一个数组
<span style="white-space:pre"> </span>var arr = ['google', 'apple', 'android'];
//sort 只能排序字符串
//排序数字有问题不是根据数字大小而是根据数字首位大小排序
arr.sort();
alert(arr);
arr = [96, 8, 12, 72, 33, 118];
arr.sort();//result:118,12,33,72,8,96
alert(arr);
arr.sort(function(num1, num2) {
return num1 - num2;
});
alert(arr); //8,12,33,72,96,118
concat 将两个数组连接起来产生一个新的数组
<span style="white-space:pre"> </span>var a1 = ["wujunbin"];
var a2 = ["brainwu"];
alert(a1.concat(a2));
join 将数组内的元素以分隔符连接成字符串
var arr=[1,2,3,4];
alert(arr.join(':'));
splice 可以很容易的对数组进行增减
var arr = [1, 2, 3, 4, 5, 6, 7];
// 1.中间删除
// arr.splice(2, 2);
// alert(arr);
// 2.中间插入
// arr.splice(5, 0, 'a', 'b', 'c');
// alert(arr);
// 3. 替换
// arr.splice(1, 2, 'a', 'b');
// alert(arr);
//有三种方式理解
//但是其实很好理解
//第一个参数代表从第几个元素开始
//第二个元素代表要删除几个元素
//后面的参数代表要插入的参数