最近看了很多前辈们的文章,看到很多文章都强调了基础的重要性,因此又回去看了JavaScript高级程序设计指南这本书,在这略做自己的总结作为分享,如有不正之处还是以书为准。
引用类型:引用类型是一种数据结构,用于将数据和功能组织在一起。它常常被称为类,但是这种称呼并不妥当,ECMAScript从技术讲是一门面向对象的语言,但它并不具备传统的面向对象语言所支持的类和接口等基本结构,所以引用类型有时也被称为对象定义。
在js中我们大多数用的引用类型都是object类型的实例,而创建一个object实例方法有两种:
第一种是通过new操作符创建一个object实例:
var person = new Object();
person.name = "jiaojiao";
person.age = 30;
第二种方式是用对象字面量表示法:
var person = {
name: "jiaojiao",
age: 30
};
当然使用对象字面量语法时,属性名称也可以用字符串表示,例:
var person = {
"name": "jiaojiao",
"age": 30,
44: false
};
在这里44这个数值属性会自动转换为字符串。
当使用对象字面量语法时,如果使用空花括号时,那么和new Object()的意义相同,只会包含默认定义的属性和方法。
通常我们访问对象属性的时候都是通过点来表示,在很多面向对象语言都是使用这种方法,但是在JavaScript中也可以使用方括号来访问对象的属性,例:
alert(person[name]); // jiaojiao
alert(person.name); // jiaojiao
从功能上来说这两种方法没有任何区别,但是使用方括号有一个特别的好处就是你可以通过变量来访问你所需要的属性,例:
var personName = "name";
alert(person[personName]); // jiaojiao
这种方式有一个特别的好处就是在一些属性中包含错误的字符时使用点表示法无法访问,而通过这种方法则可以成功的访问该属性,例如:person["first name"] = "jiaojiao";
当然书中强调除非必须使用变量来访问属性,否则建议使用点表示法。