javascript-引用类型--Object类型
引用类型是一种数据结构,本质是数据和功能的集合。引用类型有时也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。引用类型相当于java里面的类,javascript虽然是一门面向对象语言,但是它不支持传统面向对象语言的类和接口。
对象是某个特定引用类型的实例,对象可以通过new操作符后跟一个要创建的对象类型的名称来创建。例如:
var o = new Object();
这行代码创建了Object引用类型的一个新实例,然后将该实例保存在变量o中。它只为新对象定义了默认的属性和方法,仅仅创建Object的实例并没有什么用处,但是要理解一个重要的思想:javascript中大多数引用类型的值都是Object类型的实例。
创建Object实例的方法有两种,一种是使用new操作符后面跟Object构造函数,例如:
var person = new Object(); person.name = "Tom"; person.age = 21;
另一种方式是使用对象字面量来创建,例如:
var person = { name : "Tom", age : 21 };
使用对象字面量方式创建时,属性名也可以使用字符串形式,例如:
var person = { "name" : "Tom", "age" : 21 };
同时对象字面量也可以用于函数传参,例如:
function showInfo (args) { alert("名字:" + args.name + ", 年龄:" + args.age); } showInfo({
name : "Tom",
age : 21
}); //名字:Tom, 年龄:21
在javascript中,既能通过点的形式访问对象属性,也能通过方括号形式访问对象的属性,使用方括号形式时,要将属性名以字符串形式放在方括号里面,例如:
var person = { name : "Tom", age : 21 }; alert(person.name); //Tom alert(person["name"]); //Tom
Object的每个实例都具有下列属性和方法:
constructor:保存着用于创建当前对象的函数。
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中是否存在,参数必须以字符串的形式。
isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型。
propertyIsEnumerable(propertyName):用于检查给的那个的属性是否能使用for-in来枚举,参数必须以字符串的形式。
toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
toString():返回对象的字符串表示。
valueOf():返回对象的字符串、数值或布尔值表示。
PS:此内容根据javascript高程知识总结,用于个人笔记分享。