1.0.1 JavaScript Array对象

来源:互联网 发布:ubuntu磁盘一直不足 编辑:程序博客网 时间:2024/05/01 05:41
<html>
<head>
<title>JavaScript Array对象</title>
<script type="text/javascript">
// constructor属性: 返回创建此对象的数组函数的引用
function constructonMethod(){
var test=new Array();
if(test.constructor==Array){
alert("This is an Array;");
}
if(test.constructor==Boolean){
alert("This is an Boolean;");
}
if(test.constructor==Date){
alert("This is an Date;");
}
if(test.constructor==String){
alert("This is an String;");
}
}

// constructor属性:  可以返回对象的构造方法
function constructorMethod2(){
var bill=new employee('Bill Gates','Engineer','1985');
alert(bill.constructor);
}

function employee(name,job,born){
//添加属性
this.name=name;
this.job=job;
this.born=born;
//添加方法
this.smil=function(){
alert("我要发笑了");
}
}

// length属性: 设置或返回数组中元素的数目
function lengthMethod(){
var arr=new Array(3);
arr[0]='John';
arr[1]='Andy';
arr[2]='Wendy';
//alert(arr.length);

//重新设置数组的长度,如果设置的数组长度大于实际的存储长度,在默认值为undefined, 否则,将截取数组对应的长度
arr.length=5;
//alert(arr.length);  

//打印数组的长度
var tt='';
for(var i=0;i<arr.length;i++){
tt = tt + arr[i] + '--';
}
alert(tt);

}

//prototype属性:为对象添加属性
function prototypeMethod(){
//1.0 为对象添加属性
var bill=new employee('Bill Gates','Engineer','1985');
employee.prototype.salary=null;
bill.salary=2000;
//alert(bill.salary);

//2.0 为对象添加方法
employee.prototype.walk=function(){
alert("我要走路啦");
}

//bill.walk();    //调用添加的方法

//3.0 直接在对象上定义静态的属性和方法。
Array.cry=function(){
alert("给我哭..");
}
//alert(Array.cry());

//4.0 可以直接在实例上改变对象中方法或属性
bill.smil=function(){
alert("我真的要哭了...");
}
bill.smil();



}

//JavaScript Array对象中的方法
function methodAll(){
//1.0 concat()方法:连接两个或更多的数组
var a=[1,2,3];
var b=[4,5];
var c=[6,7];
var st=['zhang','chang','fei','liu','bei'];
//alert(a.concat(b,c));   //连接多个数组
//alert(a.concat(9,8));     //连接值

//2.0 join()方法: 用于将数组中的元素放到一个字符串中
//alert(a.join());     //连接为一个字符串
//alert(a.join("."));  //用"."作为连接符进行连接

//3.0 pop()方法: 删除并返回数组中的最后一个元素
//alert(a.pop());

//4.0 push()方法:将数组中添加一个新的元素并返回最新的长度
//alert(a.push(8));

//5.0 reverse()方法: 数组元素颠倒
//alert(st.reverse());

//6.0 shift()方法:删除并返回数组中第一个元素
//alert(st.shift());

//7.0 slice(start,[end])方法:从已有的数组中返回选定的元素(不包含end)
//alert(st.slice(0,2));

//8.0 splice(index,howmany,[item1,....])方法:方法向/从数组中添加/删除项目,然后返回被删除的项目。
//st.splice(2,0,'zhanzhao');   //在下标为2的地方删除0个元素,并添加新元素zhanzhao
//alert(st);

//st.splice(2,2,'zhanzhao');   //在下标为2的地方删除2个元素,并添加新元素zhanzhao
//alert(st);

//对数字进行排序
var num2=['10','5','40','25','1000','1','9'];
//alert(num2.sort(sortNumber));   //这里传一个排序函数

//9.0 toSource()方法:返回对象的源码 (该方法只有FF浏览器支持)
var bill=new employee('Bill Gates','Engineer','1985');
//alert(bill.toSource());

//10.0 toString()方法:把数组转换为字符串,并返回结果。
//alert(num2.toString() + '\n' + num2.toLocaleString());

//11.0 unshift()方法:向元素开头添加一个新的元素,并返回新的长度
//alert(st.unshift('computer'));

//12.0 valueOf()方法:返回对象的原始值
alert(st.valueOf());
}

function sortNumber(a,b){
return a - b ;
}


</script>
</head>
<body>
<button onclick="constructonMethod()">Constructor属性1</button>
<button onclick="constructorMethod2()">Constructor属性2</button>
<button onclick="lengthMethod()">Length属性</button>
<button onclick="prototypeMethod()">Prototype属性</button>
<button onclick="methodAll()">Array对象方法</button>
</body>
</html>
1 0
原创粉丝点击