js基础——对象和数组

1、Object类型
1)使用new运算符
   var box = new Object();===》等同于 var box = Object();(省略new关键字)
   box.name = "张三";// 创建属性字段
   box.age = 18;// 创建属性字段
2)字面量表示法
   var box ={
       name :"张三",  //创建属性字段
       age : 18
   }
3)字符串式属性字段
   var box ={
       'name' :"张三",  //创建字符串式属性字段
       'age' : 18
   }
4)声明空对象再以点符号赋值属性
  var box = {};//声明空对象
  box.name = "张三",//给属性赋值
  box.age = 18
  alert(box.name+','+box['age']);//注意点属性和方括号的输出方式
5)给对象创建方法
  var box = {
 
  run:function(){
     return '运行对象中的方法'
   }
 }
 alert(box.run());
6)使用delete删除对象属性
delete box.name;
eg. function box(obj){  //参数是一个对象
   if(obj.name!=undefined)//判断属性是否存在
   alert(obj.name);  
   if(obj.age!=undefined)
   alert(obj.age);
  
 }
box({          //调用函数并传参
     name:'李四',
     age:18
  })
2、Array类型
1)使用new关键字创建数组 new可省略
var box = new Array();//创建一个数组
var box = new Array(10);//创建一个数组含有10个元素
var box = new Array('张丹',24,'程序员','云南');//创建一个数组并分配好了元素
2)使用字面量创建数组
var box =[];
var box =['张丹',24,'程序员','云南'];
3)使用索引下标来获取数组值
alert(box[1]);
box[3]='重庆';//改变第4个数组的值
box[4]='一年';//增加第5个元素
4)使用legth属性获取数组长度
alert(box.legth);
5)较复杂的数组
var box = [
   {    //第一个元素是对象
     name:'李四',
     age:25,
     run :function(){ //对象中含有方法
       alert('run了')
    }
   },
   ['张丹',24,'程序员','云南'], //元素2数组
   '上海', //元素3字符串
    25+30, //元素4数值
   new Array(1,2,3) //元素5数组
 ];
  alert(box)
3、对象中的方法
1)转换方法:toLocaleString()、toString、valueOf()方法,默认情况下会以逗号隔开
var box = ['张三','计算机',18];
alert(box); //隐式调用toString方法。['张三','计算机',18]
alert(box.toString());  //和valueOf返回一致 张三,计算机,18
alert(box.toLocaleString());//同上 张三,计算机,18
console.log(box9.valueOf());//['张三','计算机',18]
2)join():使用该方法可替换分隔符
console.log(box.join('|'));//张三|计算机|18
3)push():给数组末尾添加元素并返回长度
console.log(box.push('成都'));//4
4) pop():移除数组末尾的元素,并返回移除的元素
console.log(box.pop());//成都
5)unShift():数组开头添加两个元素
console.log(box.unshift('2年','男'));//5
6)shift():移除数组开头的元素,并返回移除的元素
console.log(box.shift());//2年
7)reverse():逆向排序,并返回排序后的数组
console.log(box.reverse());//18,计算机,张三,男
8)sort():从小到大排序,并返回排序后的数组(当数组和字符串排序时这样使用是错的)
console.log(boc.sort());//18,张三,男,计算机
9)concat():可基于当前数组创建一个新数组
var box = ['山东','成都','贵阳'];
var box2 = box.concat('大厦');
console.log(box2);//山东,成都,贵阳,大厦
10)slice():基于当前数组获取指定区域元素并创建一个新数组
var box2 = box.slice(1);//表示从下标1开始截取
console.log(box2);//成都,贵阳,大厦