ECMAScript引用类型之Object类型
程序员文章站
2022-04-26 11:06:24
在ECMAScript中,引用类型是一种数据结构,可以将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。 对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数创建的。构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的定义的 ......
在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";
通常我们一般都是使用点访问法,除非是上述的情况。
总结:
- 新对象是使用new关键字后面跟着一个构造函数创建的;
- 创建实例化对象有两种方式,第一种是new操作符后跟构造函数,第二种是对象字面量表示法;
- 对象字面量表示法可向函数传递大量的可选参数;
- 访问一个对象的属性,一般使用点表示法,而方括号一般用来访问错误字符或保留着关键字。
如果有错误或者不严谨的地方,请务必给予指正,十分感谢。如果您喜欢或者有所启发,欢迎添加收藏,一起加油学习啊。