js对象和数组

//对象 对象包含哪些元素
//1.属性(字段);
//2.方法(函数);
var box = new Object(); //创建一个对象
box.name='sdfsf'
box.age=58
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = Object(); //new关键字可以省略的。

var box = {}; //字面量方式创建的对象

var box = { //用字面量对象封装数据
name:'sdfsdf', //属性可以用引号来括起来
age:58
};
alert(box.name);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = {
'name':'sdfsdf',
'age':58
};
alert(box.name);
alert(box['name']); //用数组的方式输出

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function objrun(){
return '123';
}
//方法就是函数
var box = new Object();
box.name = '斯蒂芬';
box.age = 28;
box.run = objrun();
alert(box.run);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = {
name:'斯蒂芬森的',
age:28,
run:function(){ //匿名函数
return '123';
}
};
alert(box.run()); //调用方法(函数),如果没有圆括号,会打印出

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = {
name:'斯蒂芬森的'
};
alert(box.name);
delete box.name; //删除属性
alert(box.name);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function box(name,age,height,address,love){
alert(name);
alert(age);
}
box('斯蒂芬',28,175,'斯蒂芬斯蒂芬')

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function box(obj){
if(obj.name != undefined)alert(obj.name);
if(obj.love != undefined)alert(obj.love);
if(obj.age != undefined)alert(obj.age);
}
//匿名对象
box({
name:'斯蒂芬',
age:28,
height:178,
address:'个人购房的歌'
});

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

//数组对象
var box = new Array(); //声明一个数组,空数组
alert(box); //数组属于object类型

var box = new Array('sdf',82,'sdfgrg'); //创建一个数组,并分配了三个元素
alert(box);
alert(box[1]);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = new Array(10); //创建数组包含十个元素,必须是数字,必须是一位。
box[3]='受到广泛而个人';
box[5]='sdf';
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = Array(); //创建数组可以省略new关键字
var box = ['SFSDF',54]; //字面量的方式创建数组

var box = ['SFSDF',]; //额外的逗号会让IE获取到,而产生错误
alert(box.length);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = [5,456,8499,];
box[1] = 100; //可以更改下标
box[4] = '斯蒂芬斯蒂芬'; //可以增加下标
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = [];
box['name'] = '斯蒂芬森分';
box['age'] = 55;
alert(box['name']); //如果是字符串下标,不会体现在数组上,而要单独拿出来。

var box = [];
box[0] = '斯蒂芬森分';
box[1] = 55;
alert(box); //如果是索引下标,就会在数组上体现出来。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = ['fsdfsf',45,546,89];
box.length = 10; //强制了元素量
alert(box.length);
alert(box); //强制了的元素量以逗号扩展补充

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = ['fsdfsf',45,546,89];
box[box.length] = '讲述' //使用length获得最后一个下标值
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box =[
{
name:'斯蒂芬斯蒂芬森的',
age:28
},
[3,4,6,'讲述',new Object()],
'额豆腐干豆腐干风格',
25+25,
new Array(1,2,3)
];
alert(box);
alert(box[0].name);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


//对象中的方法
var box = ['斯蒂芬',28,'sdf',new Date()];
alert(box);
alert(box.toString());
alert(box.valueOf());
alert(box.toLocaleString()); //本地格式区域字符串

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = ['斯蒂芬',28,'sdf',new Date()];
alert(typeof box.join('|')); //方法运行过后返回按|分割的字符串
alert(typeof box); //原数组没有任何变化,还是objec

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//后进先出 栽方法
var box = ['斯蒂芬',28,'sdf',new Date()];
alert(box.push('计算机编程')); //给数组末尾添加了N个元素,并返回数组的最新长度
alert(box);
alert(box.pop()); //移除数组最后的元素,并且返回移除的元素。
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//先进先出 队列方法
var box = ['斯蒂芬',28,'sdf',new Date()];
alert(box.push('计算机编程'));
alert(box);
alert(box.shift()); //移除数组开头的一个元素,并且返回这个元素
alert(box);

var box = ['斯蒂芬',28,'sdf',new Date()];
alert(box.unshift('fdff')); //给数组前端添加一个元素,并且返回最新的长度
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//重排序方法
var box = [1,2,3,4,5];
alert(typeof box.reverse()); //方法执行后返回一个逆序后的数组
alert(typeof box); //原数组也被逆序了

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = [50,5,15,30,7];
alert(typeof box.sort()); //从小到大排序
alert(typeof box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function cumpare(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}

var box = [50,5,15,30,7];
alert(box.sort(cumpare)); //从小到大排序
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = [50,5,15,30,7];
var box2 = box.concat('计算机编程'); //基于当前数组创建一个新数组
alert(box2);
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = [50,5,15,30,7];
var box2 = box.slice(1,3); //这里不是从第1个位置取3个
alert(box2); //而是从第1个位置取到第3个位置
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = ['斯蒂芬',23,89,54];
var box2 = box.splice(0,2); //这里表示从第0个位置取2个
alert(box2); //而不是从第0个位置取到第2个位
alert(box);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var box = ['斯蒂芬',23,89,54];
var box2 = box.splice(1,0,'斯蒂芬斯蒂芬'); //从第一个插入点插入元素,0表示不删除
alert(box2);
alert(box);

posted @ 2017-04-01 18:00  黑岛  阅读(207)  评论(0编辑  收藏  举报