所有类的基础类
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
语法
var obj = new Object(); // 创建一个空的 Object 对象
var obj = {}; // 实例化的简便写法
给对象设置属性,不需要提前声明
obj.name = 'Jone';
obj.age = 20;
obj['sex'] = 'Male';
给对象设置方法,方法名可以随意指定
obj.say = function() {
alert('Hello World !!');
}
访问对象的属性和方法
alert(obj.name); // 显示 Jone
obj.say(); // 显示 Hello World !! 方法名后需要跟一对小括号
删除对象的属性和方法
delete obj.name; // 删除属性
delete obj.say; // 删除方法,不能带小括号,否则会被视为调用此方法
alert(obj.name); // 显示 undefined
obj.say(); // Console 提示方法未定义
for (var attr in object) { … }
- 遍历对象的属性和方法的名称
- attr 当前属性和方法的名称
- object 指定对象
for (var attribute in obj) {
// 遍历对象的所有属性和方法的名称并显示
alert(attribute);
// 遍历对象的所有属性和方法的内容
alert(obj[attribute]);
}
constructor
- 保存对象的创建函数
alert(obj.constructor); // 显示 obj 的创建函数 function Object() { [native code] }
hasOwnProperty(propertyName)
- 检测传入的参数名称是否存在于指定对象中
var result = obj.hasOwnProperty('name'); // 检测 name 属性是否存在于 obj 对象中,返回 true 或 false
alert(result); // 返回 true ,说明 obj 中存在 name 属性
propertyIsEnumerable(propertyName)
- 检测传入的参数是否可以被 for-in 枚举循环遍历
var result = obj.propertyIsEnumerable('name'); // 检测 name 属性是否可以被 for-in 遍历,返回 true 或 false
alert(result); // 返回 true ,说明 name 属性可以被 for-in 遍历
toLocaleString()
- 返回指定对象的字符串表示,该字符串与执行环境相对应
var result = obj.toLocaleString();
alert(result); // 显示 [object Object]
toString()
- 返回指定对象的字符串表示
var result = obj.toString();
alert(result); // 显示 [object Object]
valueOf()
- 返回对象的字符串、数值或布尔值表示,并无强制类型
var result = obj.valueOf();
alert(result); // 显示 [object Object]