/**********************************************************************
** author : Bugliu
** date : 2018-12-04
** description : 对象
** 学习网站 : www.liaoxuefeng.com
**********************************************************************/
// js对象是一种无序的集合数据类型,由若干键值对组成。
var bob = {
name : 'bob',
age : 20,
birth: 1990,
height: 1.80,
'mid-school': 'No.1 Middle School',
score: null
};
// 获取属性值
console.log(bob.name); //bob
console.log(bob['name']); //bob
// 属性名mid-school不是一个有效的变量,就需要用''括起来,访问这个属性也无法
// 使用.操作符,必须用['xxx']来访问。
console.log(bob['mid-school']); //No.1 Middle School
// 访问不存在的属性返回undefined
console.log(bob['mid-school']); //undefined
/* 实际上JS对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型 */
// JS对象是动态类型,可以自由地添加或删除属性。
var ming={
name:'小明'
};
ming.age = 18; // 新增age属性
console.log(ming.age); // 18
delete ming.age; // 删除age属性
console.log(ming); // name: "小明"
console.log(ming.age); // undefined 访问不存在属性
// 检查属性是否在对象中
console.log('age' in ming); //false
console.log('name' in ming);//true
// 不过要小心,如果in判断一个属性存在,这个属性不一定是ming的,它
// 可能是ming继承得到的。
console.log('toString' in ming); //true
/*
因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,
所以ming也拥有toString属性
*/
//判断一个属性是否是对象自身拥有的,而不是继承的,可以用hasOwnProperty()方法
console.log( ming.hasOwnProperty('name') ); //true
console.log( ming.hasOwnProperty('toString') ); //false
JavaScript 学习笔记4_对象_20181204
最新推荐文章于 2023-04-16 11:01:02 发布