/*
* 对象:其实就是一种类型,即引用类型。以下学习的是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 : '音乐'
});
* */
JavaScript学习笔记——对象和数组(上)
最新推荐文章于 2024-11-08 16:09:18 发布