1、实例化对象
var obj = new Object();
var obj2 = {};
// 给对象设置属性
obj2.name = 'lc';
obj2.sex = '女';
obj2.age = 23;
obj2['birthday'] = '1994-03-13';
obj2.say = function(){
console.log('hello life in ' + obj2.age);
};
// 访问对象的属性或方法
console.log(obj2.name); // lc
obj2.say(); // hello life in 23
// delete 操作符 删除对象的属性或方法
delete obj2.name;
delete obj2.say;
//obj2.say(); // TypeError: obj2.say is not a function
// 如何去遍历一个JS 对象,使用 for in 语句式
for(var temp in obj2){
console.log(temp + " : " + obj2[temp]); // for in 循环获取值不能使用 obj2.temp 需使用 obj2[temp]
}
2、Object 每个实例 都具有下列属性和方法
-- Constructor:保存着用于创建当前对象的函数。(构造函数)
-- hasOwnProperty(propertyName):用于检测给定的属性在当前对象实例中(而不是原型中)是否存在
-- isPrototypeOf(Object):用于检查传入的对象是否是另外一个对象的原型
-- propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用 for in 语句来枚举
-- toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应
-- toString():返回对象的字符串表示
-- valueOf():返回对象的字符串、数值或布尔表示
var obj = {};
obj.name = 'lc';
obj.age = 23;
obj.sex = '女';
// show constructor
console.log(obj.constructor); // function Object()
alert(obj.constructor)
// output:
/**
function Object() {
[native code]
}
**/
// show hasOwnProperty
console.log(obj.hasOwnProperty('name')); // true
// show isPrototypeOf 检测原型
// 略过
// show propertyIsEnumerable
console.log(obj.propertyIsEnumerable('name')); // true