JavaScript高级程序设计第五章引用类型——Object类型

引用类型的值(对象)是引用类型的一个实例,引用类型是一种数据结构,用于将数据和功能组织在一起。

对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的。构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的。

var person = new Object();

这行代码创建了Object()引用类型的新实例,然后把该实例保存在了变量person中,使用的构造函数是Object,它只为新对象定义了默认的属性和方法。

创建Object()实例的方式有两种:

第一种是使用new操作符后跟Object构造函数。

var person = new Object();
person.name = "zhangsan";
person.age = 18;

第二种是使用对象字面量表示法。对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程,对象属性名可读性好,下面这个例子使用对象字面量方法定义了与上面例子相同的person对象:

var person = {
    name : "zhangsan",
    age : 18
};

使用对象字面量方法时,属性名也可以是字符串:

var person = {
    "name" : "zhangsan",
    "age" : 18,
     5 : true
};

这个例子会创建一个对象,包含三个属性:name,age和5,这里的数值属性名(5)会自动转化为字符串("5")。

使用对象字面量方法时,如果留空花括号,则可以定义只包含默认属性和方法的对象:

var person = {};//与new Object()相同
person.name = "zhangsan";
person.age = 18;

对象字面量属性也是向函数传递大量可选参数的首选方式:

function displayInfo(args){
    var output = "";
    if(typeof args.name == "string"){
        output += "Name:" + args.name + "\n";
    }
    if(typeof args.age == "number"){
        output += "Age" + args.age + "\n";
    }
    alert(output);
}
displayInfo({
     name : "zhangsan",
     age : 18
});
displayInfo({
     name : "lisi"
});

我们调用两次这个函数,每次都使用一个对象字面量来指定不同的数据,两次调用传递的参数不同,但是函数都能正常运行。

最好的做法是对那些必须值使用命名参数,而使用对象字面量来封装多个可选参数。

访问对象属性的两种方法:

第一种是对象点属性

alert(person.name);//"zhangsan"

第二种是使用方括号,将要访问的属性以字符串的形式放在方括号中

alert(person["name"]);//"zhangsan"

从功能上看,这两种方法没什么区别,但是,方括号语法的主要优点是可以通过变量来访问属性

var propertyName = "name";
alert(person[propertyName]);//"zhangsan"

如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或者保留字,也可以用方括号表示法:

person["first name"] = "zhangsan";

由于”first name”中包含一个空格,所以不能使用点表示法来访问它,属性名中是可以包含非字母非数字的,这时候可以用方括号来访问它们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值