Object类型

Object类型

一、相关概念

1.引用类型:是一种数据结构,用于将数据和功能组织在一起
2.ECMAScript是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构
3.引用类型也称为对象定义,因为它描述的是一类对象所具有的属性和方法
4.对象是某个特定引用类型的实例
5.新对象是使用new操作符后跟一个构造函数来创建的
6.构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的

var person=new Object();
//创建了object引用类型的一个新实例,然后把该实例保存在了变量person中。使用的构造函数是Object,它只为新对象定义了默认的属性和方法
//ECMAScript提供了很多原生引用类型(例如Object)

二、Object实例的方法

1.使用new操作符后跟Object构造函数
var person=new Object();
person.name="Nicholas";
person.age=29;
2.使用字面量表示法
  1. 对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程
  2. 在通过对象字面量定义对象时,实际上不会调用Object构造函数
var person={
	name:"Nicholas",
	age:29
};
//在对象字面量中,使用逗号来分隔不同不同属性
//但是29后面不能添加逗号,因为它是最后一个属性。在最后一个属性后面添加逗号,会在IE7及更早的版本和Opera中,导致错误

var person={
	"name":"Nicholas",
	"age":29,
	5:true
};
//在使用对象字面量语法时,属性名也可以使用字符串
//数值属性名会自动转换为字符串

var person={};//与new Object()相同
person.name="Nicholas";
person.age=29;
//在使用对象字面量语法时,如果留空其花括号,则可以定义只包含默认属性和方法的对象
function displayInfo(args){
	var output="";
	if(typeof args.name=="string"){
		output += "Name" + args.name + "\n";
	}
	if(typeof args.name=="number"){
		output += "Age: " + args.age + "\n";
	}
	alert(output);
}
displayInfo({
	name:"Nicholas",
	age:29
});
displayInfo({
	name:"Greg",
});
//推荐使用,能够给人封装数据的感觉
//实际上,对象字面量也是向函数传递大量可选参数的首选方式

三、访问属性

1.点表示法
  1. 一般来说,访问对象属性时使用的都是点表示法
  2. 从功能上看,这两种访问对象属性的方法没有任何区别
  3. 通常,除非必须使用变量来访问属性,否则建议使用点表示法
alert(person.name);//"Nicholas"
2.方括号表示法
  1. 在使用方括号语法时,应该将要访问的属性以字符串的形式放在方括号中
  2. 主要优点是可以通过变量来访问属性
  3. 如果属性名包含会导致语法错误的字符,或者使用属性名使用的是关键字或保留字
alert(person["name"]);//"Nicholas"
var propertyNmae="name";
alert(person[propertyName]);//"Nicholas"
person["first name"]="Nicholas"
//first name中包含一个空格,所以不能使用点表示法来访问
//属性名是可以包含非字母非数字的,这时候就用方括号表示法开访问

源自
源于整理《JavaScript高级程序设计》

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值