1 <script> 2 //创建object实例的方式 3 4 //1.使用new操作符后跟object构造函数 5 var person= new Object() 6 person.name= 'nicholas' 7 person.age= 29 8 console.log(person) 9 10 //2.使用对象字面量表示法(对象字面量是对象定义的一种简写形式,简化创建包含大量属性的对象的过程) 11 var person= { 12 name: 'nicholas', 13 age: 29 14 } 15 console.log(person) 16 17 18 //对象字面量中,属性名也可以使用字符串 19 var person= { 20 'name': 'nicholas', 21 'age': 29 22 } 23 console.log(person) 24 25 26 //对象字面量留花括号,定义只包含默认属性和方法的对象 27 var person= {} //与new Object()相同 28 person.name= 'nicholas' 29 person.age= 29 30 console.log(person) 31 32 33 //对象字面量是向函数传递大量可选参数的首选方式 34 function dispalyInfo(args){ 35 var output="" 36 if (typeof args.name=="string") { 37 output+="Nname:"+args.name 38 } 39 if (typeof args.age=="number") { 40 output+="Age:"+args.age 41 } 42 console.log(output) 43 } 44 dispalyInfo({name: 'ni', age: 29}) 45 dispalyInfo({name: 'greg'}) 46 47 48 //访问对象属性 49 //1.点 50 console.log(person.name) 51 //2.花括号:将要访问的属性以字符串的形式放在方括号中(优点是可以通过变量来访问属性) 52 console.log(person['name']) 53 54 var propertyName= 'name' 55 console.log(person[propertyName]) 56 </script>
上面是看的书
下面是看的廖雪峰的网站
1 //对象 2 //对象是一种无序的集合数据类型,它由若干键值对组成 3 4 /* 5 访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用''括起来,访问这个属性也无法使用.操作符,必须用['xxx']来访问 6 */ 7 var obj = { 8 name : '小明', 9 'middle-school' : 'kangkang' 10 } 11 console.log(obj.name) 12 console.log(obj['middle-school']) 13 14 //如果访问一个不存在的属性不会报错,而是返回undefined 15 console.log(obj.age)//undefined 16 17 /* 18 JavaScript的对象是动态类型,可以自由地给一个对象添加或删除属性 19 */ 20 obj.phone = 13456567788 21 console.log(obj)// {name: "小明", middle-school: "kangkang", phone: 13456567788} 22 23 /* 24 in操作符 25 检测对象是否拥有某一属性 26 注:in判断一个属性是否存在,这个属性不一定是当前对象的,它可能是当前对象继承得到的 27 hasOwnProperty() 28 判断一个属性是否是对象自身拥有的还是继承得到的 29 */ 30 console.log('name' in obj) //true 31 console.log('age' in obj) //false 32 console.log(obj.hasOwnProperty('name')) 33 console.log(obj.hasOwnProperty('toString'))