ECMAScript引用类型之Object类型

在ECMAScript中,引用类型是一种数据结构,可以将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

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

var Obj = new Object();
Obj.name = "xiaoming";
Obj.age = 20;

另外一种方式是使用对象字面量表示法:

var obj = {
    name: "xiaoming",
    age:20
};

这种方法目的在于简化创建包含大量属性的对象过程。

还有就是如果花括号里面为空,则会定义只包含默认的属性和方法:

var obj = {}; //与new Object()一样
obj.name = "xiaoming";
obj.age = 20;

其中对象字面量可以向函数传递大量可选参数:

function car(className) {
    var output = "";
    if(typeof className.name == "string") {
        output += "Cat:" + className.name + "\n";
    }
    if (typeof className.moeny == "number") {
        output += "Money:" + className.moeny + "\n";
    }
    console.log(output);
}
car({
    name:"falali",
    moeny:1000
});

cat函数接收className参数,参数带有name或moeny的属性,通过内部检测属性是否存在。

访问对象属性

一般来说访问对象属性都是点表示法,不过在JavaScript也可以使用方括号表示法来访问对象属性。使用方括号语法时,应该将要访问的属性以字符串的形式放在方括号种:

var obj = new Object();
obj.name = "xiaoming";
obj.age = 20;
console.log(obj["name"]); //"xiaoming"
console.log(obj.name);//"xiaoming"

使用方括号语法的主要优点时可以通过变量来访问属性:

var protName = "name";
console.log([protName]);//"xiaoming"

如果使用关键字或保留字,还有就是包含语法错误字符,也可以使用方括号访问法:

obj["this name"] = "xiaoming";
obj["Object"] = "xiaohong";

通常我们一般都是使用点访问法,除非是上述的情况。

总结:

  1. 新对象是使用new关键字后面跟着一个构造函数创建的;
  2. 创建实例化对象有两种方式,第一种是new操作符后跟构造函数,第二种是对象字面量表示法;
  3. 对象字面量表示法可向函数传递大量的可选参数;
  4. 访问一个对象的属性,一般使用点表示法,而方括号一般用来访问错误字符或保留着关键字。

如果有错误或者不严谨的地方,请务必给予指正,十分感谢。如果您喜欢或者有所启发,欢迎添加收藏,一起加油学习啊。

相关推荐