javascript学习笔记:对象和数组

javascript函数不具备重载功能,只能覆盖。

// function box(a,b){
//   return a+b;
// }
// function box(a){
//   return a;
// }

// alert(box(2,3));        //打印结构为 2

//定义一个对象,不能再它定义之前打印它的值(函数可以做到)
// alert(box.color); //报错
// var box = {
// color : '蓝色的',
// }



Object类型 和 Array类型 的创建方法

  1)Array()  和  Object()  不能构造函数

传统创建对象

// var box = new Object();
//   box.name = '陈杰子';
//   box.age = 23;
//   box.fun = function(){
//     return 'run le'; 

//   };

字面量创建对象

// var box = {
//   name: '陈杰子',
//   age : 23,
//   fun : function(){
//     return 'run le'; 
//   }
// };

// alert(box.fun());

另一种创建对象

// var box = new Object({
//   name : '陈杰子',
//  age : 23,
//  fun : function(){      //要打印方法,要加圆括号。
//     return 'run le'; 
//   },
// });
// alert(box.fun());

// alert(box);


传统创建数组

// var box = new Array();
// box[0] = '陈杰子' ;
// box[1] = 23 ;

// alert(box[0]);

字面量创建数组

var box = [
  12,
  'abc',
  Array[2]=[1,2],
  function(){
    return 10+10;
  }
]
alert(box[3]());

另一种创建数组

// var box = new Array([
//   '陈杰子'
// ]);

// alert(box[0]);

下标法

// var box = new Array();
// box['name']='陈杰子';
// alert(box['name']);


数组排序

1.sort()在数字排序上有点问题,因为 数字排序 和 数字字符串排序 的算法应该是要一样的,
所以要给sort()一个参数,如下:

// function compare(a,b){
//   if(a > b){
//     return -1;
//   }else if(a < b){
//     return 1;
//   }else
//     return 0;
// }
// sort(compare); //特例
// var box = [0,1,5,10,15];
// box.sort(compare);
// alert(box);

2.逆序的话,使用reverse();
 注:两个都是引用类型(就是原数组
会改变



数组操作方法

concat():可以创建新数组,并添加新元素

// var box = ['陈杰子',23,'汕头'];
// var box2 = box.concat('前端');
// alert(box);
// alert(box2);


slice():可以指定区域元素截取,并存到新的数组中

// var box = ['陈杰子',23,'汕头'];
// var box2 = box.slice(0);        // 第0个逗号开始截取到结束,并把截取的存到新数组中 (原数组不变)
// var box3 = box.slice(1,3);      // 第1个逗号开始截取到第3个逗号之间的元素,并把截取的存到新数组中 (原数组不变)
// alert(box);                   //打印 陈杰子 23 汕头
// alert(box2);                  //打印 陈杰子 23 汕头
// alert(box3);                  //打印 23 汕头


【引用类型】 

splice():有删除,插入,替换这三种功能(按元素,不是按逗号)

// var box = ['陈杰子',23,'汕头'];


//删除功能

// var box2 = box.splice(0);

第0个元素开始截取到结束,并把截取的存到新数组中,也可以取1,3(原数组中,指定区域元素被删除)

// alert(box);                       //打印

// alert(box2);                      //打印 陈杰子 23 汕头


//插入功能
// var box2 = box.splice(1,0,'前端','广州');       //没有截取,而是插入两个元素
// alert(box);                      //打印 陈杰子 前端 广州 23 汕头
// alert(box2);                     //打印


//替换功能
// var box2 = box.splice(1,2,'前端','广州');       //把'23' 替换为 '前端'
// alert(box);                      //打印 陈杰子 前端 汕头
// alert(box2);                     //打印 23 汕头
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值