在JavaScript中,可以通过类的实例化来创建对象,也可以使用 对象字面量 直接创建对象。
在编程语言中,字面量是一种表示值的记法,例如,"Hello, World!" 在许多语言中都表示一个字符串字面量(string literal )。JavaScript也不例外,如5、true、false和null,它们分别表示一个整数、两个布尔值和一个空对象。
JavaScript 支持对象字面量,允许使用一种简洁而可读的记法来创建对象。
对象字面量是一个 名/值 对列表,每个 名/值 对之间用逗号分隔,最后用一个大括号括起来。名/值对 表示对象的一个属性或方法,名和值之间用冒号分隔。
例如:
var myCar={ "price" : "$10,000" , // 属性 "color" : "red" , // 属性 "run" : function(){ return " 120 km/h "; } // 方法 } var myHome={ population : "10,000" , area : "10,000" , adress : { // 属性 country : "China" , province : "shanxi" , city : "xian" }, say : function(){ // 方法 return "My hometown is very beautiful ! "; } }
创建一个zhangsan对象:
var zhangsan={ name : "张三", sex : "男", say:function(){ return "嗨!大家好,我来了。"; }, contact : { tel : "029-81895644", qq : "1370753465", email : "it@gmail.com" } } alert("姓名:"+zhangsan.name); alert("性别:"+zhangsan.sex); alert(zhangsan.say()); alert("电话:"+zhangsan.contact.tel); alert("QQ:"+zhangsan.contact.qq); alert("邮箱:"+zhangsan.contact.email);
可以看出来:
使用对象字面量可以创建单个对象,语义直观。
对象字面量可以嵌套。
对象字面量也可以先创建,再添加属性和方法。
上面的zhangsan对象,也可以这样来创建:
var zhangsan={} zhangsan.name = "张三"; zhangsan.sex = "男"; zhangsan.say = function(){ return "嗨!大家好,我来了。"; } zhangsan.contact = { tel : "029-81895644", qq : "1370753465", email : "it@gmail.com" }