JavaScript学习笔记——对象和数组(上)

/*
 * 对象:其实就是一种类型,即引用类型。以下学习的是Object类型,Array类型,以及其方法。
 * 对象的值就是引用类型的一个实例。如:水果作为一个对象,香蕉就是水果对象中的一个实例。男生是一个对象,小明就是一个实例。
 * 
 * Object类型创建的方式:
 * 1.使用new关键字创建Object
 * var box = new Object();          //声明对象
  box.name = '小明';              //对象的name属性
  box.age = 22;                 //对象的age属性
                                //小明,22就是对象的一个实例
  alert(box.age);       

  //当然 new 关键字也是可以省略的
var box = Object();
box.name = '小明';
alert(box.name);
 2.使用字面量的方式创建Object
    var box = {             //字面量方式
    name : '小明',        //创建属性字段。注意:个人经常把这里的“,”用成了“;”
    age : 22
};                      //分号不要丢
alert(box.name);
 3.另外属性字段也是可以用字符串显示的
    var box = {             //字面量方式
    'name' : '小明',      //创建属性字段。注意:个人经常把这里的“,”用成了“;”
    'age'' : 22
};                      //分号不要丢
alert(box.name);
4.使用字面量及传统赋值方式
var box = {};                                       //字面量方式声明一个空
box.name = '小明';                            //传统赋值方式,在用的时候赋值
alert(box.name);

5.两种属性输出方式  
alert(box.name);                            //点表示法输出
alert(box['name']);                         //用数组的方法输出
 *************注:使用字面量声明Object对象时,不会调用Object()的构造函数,Firefox除外*******************
 * 
 * //7.给对象创建方法
var box = {                         //声明一个对象
    run : function(){               //声明一个方法,和上面的属性类同。上文是给一个属性指定一个值,这里给一个方法名指定一个过程,过程返回的结果就是run指定的值。
        return '这是一个方法';
    }
}

alert(box.run());
// 8.使用delete删除对象属性
    var box = {                                         
    name : '小明'
};

alert(box.name);            
delete box.name;            //删除属性
alert(box.name);    

//有时候我们需要向函数传递大量的可选参数,如下:
function box(name,age,height,address,hoppy){
    alert(name);
    alert(hoppy);
}
box('小明',22,183,'浙江杭州','音乐');

//当预设的可选参数特别多的时候,这种方式会带来阅读上的困难,所以用另一种方式代替,将预设的可选参数,当成一个对象。
var obj = {                 //声明一个对象
    name : '小明',
    age : 22,
    height : 182,
    address : '浙江杭州',
    hoppy : '音乐'
}
function box(obj){          //创建一个函数(方法)
    alert(obj.name);
    alert(obj.age);
}
//此时仅仅是创建了方法,并没有调用,所以:
box(obj);

//但是 当我们把name 属性删除时,也就是说不声明对象obj的name属性时,alert时,第一个就会报错。
var obj = {                 //声明一个对象
    //name : '小明',
    age : 22,
    height : 182,
    address : '浙江杭州',
    hoppy : '音乐'
}
function box(obj){          //创建一个函数(方法)
    alert(obj.name);
    alert(obj.age);
}
//此时仅仅是创建了方法,并没有调用,所以:
box(obj);

//因此我们要进行一个判断,使得更加完善.
var obj = {                 //声明一个对象
    //name : '小明',
    age : 22,
    height : 182,
    address : '浙江杭州',
    hoppy : '音乐'
}
function box(obj){          //创建一个函数(方法)
    if(obj.name != undefined) alert(obj.name);
    if(obj.age != undefined) alert(obj.age);
    if(obj.height != undefined) alert(obj.height);
    if(obj.address != undefined) alert(obj.address);
    if(obj.hoppy != undefined) alert(obj.hoppy);
}
//此时仅仅是创建了方法,并没有调用,所以:
box(obj);

//另外可以通过直接将对象作为参数,传给函数,此时对象没有声明,这就是一个匿名对象。
box({
    name : '小明',
    age : 22,
    height : 182,
    address : '浙江杭州',
    hoppy : '音乐'
});

 * */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值