我们可以将JavaScript中的对象简单地理解为名值对组成的散列表(hash table,也叫哈希表)。在其他编程语言中被称作“关联数组”。其中的值可以是原始值也可以是对象。不管是什么类型,它们都是“属性”(property),属性值同样可以是函数,这时属性就被称为“方法”(method)。
JavaScript中自定义的对象(用户定义的本地对象)任何时候都是可变的。内置本地对象的属性也是可变的。你可以先创建一个空对象,然后在需要时给它添加功能。“对象字面量写法(object literal notation)”是按需创建对象的一种理想方式。
字面量的方式创建对象
1、直接创建对象的时候添加功能
var person ={ name:'xiaoyang', age:'28', say :function(){ return "hello"; } };
运行实例 »
点击 "运行实例" 按钮查看在线实例
2、或者先定义一个"空对象",然后添加属性和方法
var person ={}; person.name= 'xiaoyang'; person.age= '28'; person.say= function(){ return "hello"; } //打印 consloe.log(person.name) //输出"xiaoyang" consloe.log(person.age)//输出"28" consloe.log(person.say)//输出ƒ (){return "hello";}
运行实例 »
点击 "运行实例" 按钮查看在线实例
[01] 代码复用性差
[02] 如果要创建大量的同类型对象,则需要些大量重复性代码
2、内置构造函数的方式来创建对象
js中内置的构造函数
String
Number
Boolean 注意:(区别于string number boolean)
Date
Array
Function
Object
RegExp
1、内置object的方式来创建对象
var person = new Object(); person.name= 'xiaoyang'; person.age= '28'; person.say= function(){ return "hello"; } //打印 consloe.log(person)
运行实例 »
点击 "运行实例" 按钮查看在线实例
[01]创建的对象无法复用,复用性差
[02] 如果需要创建多个同类型的对象,需要写大量重复的代码,代码的冗余度高