关于js数组的那些事
参考文章:http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html
1.基本操作方法
<!---length属性---->
<script type="text/javascript">
//数组的声明
//var arrayObj=new Array ();//1.创建一个数组
//var arrayObj=new Array(10); //2.
var arrayObj = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 90];
var testValue = arrayObj[1];
arrayObj[1] = "新值哦";
//alert(arrayObj[1]);
arrayObj.push(88, 77, 66, 55); //将一个或者多个元素添加到数组的结尾并返回长度
arrayObj.unshift(44, 33, 22, 11)//将一个或者多个元素添加到数组的开始之前的元素往后推,并返回长度。
</script>
<!---- splice------>
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(0, 3, "William")//第一个参数表示开始的位置,0表示在最开头,1表示在第一个元素之后。 第二个参数表示删除几个元素 第三个参数 增加的元素
document.write(arr + "<br />");
arr.pop();//移除数组的最后一个元素
document.write(arr + " pop() 移除数组的最后一个元素<br />");
arr.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
document.write(arr + " shift() 移除最前一个元素并返回该元素值,数组中元素自动前移<br />");
arr.splice(0, 1)//删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
document.write(arr + " splice(a,b) 删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素<br />");
</script>
2.js数组的三大属性
A.length 属性
length表示数组的长度,从0开始。与其他的语言不一样的地方是,数组的长度是可以变化的。不存在数组越界的情况,但是会出现数组元素丢失,而且就算后面恢复数组的长度,也无法收回。举个列子就很明白了。
<script>
var arr = [12, 23, 5, 3, 25, 98, 76, 54, 56, 76];
//定义了一个包含10个数字的数组
alert(arr.length); //显示数组的长度10
arr.length = 12; //增大数组的长度
alert(arr.length); //显示数组的长度已经变为12
alert(arr[8]); //显示第9个元素的值,为56
arr.length = 5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
alert(arr[8]); //显示第9个元素已经变为"undefined"
arr.length = 10; //将数组长度恢复为10
alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
</script>
而且length不但可以显示的指出和修改也可以使隐式的。
var arr = [12, 23, 5, 3, 25, 98, 76, 54, 56, 76]; alert(arr.length); arr[15] = 34; alert(arr.length);//你猜猜变成了多少
A.prototype 属性
返回对象类型原型的引用。prototype 属性是 object 共有的。用来提供一个对象的类的一些基本功能。对象的实例拥有这个属性。说的有点含糊。举个栗子
<script type="text/javascript">
function array_max() {
max = this[0];
for (var i = 1; i < this.length; i++) {
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max();
</script>
本身单词的意思 就是“原形”的意思。就是拿到数组的本身的那个值。 这里返回最大值 6.
C constructor属性
表示创建对象的函数。本身单词的意思就是“构造”的意思。是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。
x = new String("Hi"); if (x.constructor == String) // 进行处理(条件为真)。 function MyFunc { // 函数体。 } y = new MyFunc; if (y.constructor == MyFunc) // 进行处理(条件为真)。
人生匆匆几十年,BeYourself...

浙公网安备 33010602011771号