JavaScript Object对象及其方法详解

221 1 年前
Object对象是Javascript原生的对象,在Javascript中其他对象都继承自Object对象,都是Object对象的实例。Object对象的所有方法和属性均可用于所有其他对象

Object对象是Javascript原生的对象,在Javascript中其他对象都继承自Object对象,都是Object对象的实例。Object对象的所有方法和属性均可用于所有其他对象

创建Object对象实例的方法

new构造函数法

var person = new Object();
person.name = 'jeck';
person.age = 28;

这种方式使用new关键字,接着跟上Object构造函数,再来给对象实例动态添加上不同的属性。

对象字面量

对象字面量很好理解,使用key/value的键值对形式直接创建对象,简洁方便。

var person = {
	name:'jeck',
	age:28
}

这种方式直接通过花括号将对象的属性包起来,使用key/value的方式创建对象属性,每个属性之间用逗号隔开。如果是最后一个属性,后面就不要加逗号。

Object()方法

Object构造函数可以不加 new当变通函数执行,这样可以将任意值做为参数转为对象,通常用于保证某一值必须是一个对象,如果参数为空(null 或 undefined),Object()返回一个空对象。

var obj = Object();
// 等同于
var obj = Object(undefined);
var obj = Object(null);

obj instanceof Object // true

如果参数为原始数据类型,,Object()返回该数据的包装对象。

var obj = Object(1);
obj instanceof Object // true
obj instanceof Number // true

var obj = Object('foo');
obj instanceof Object // true
obj instanceof String // true

var obj = Object(true);
obj instanceof Object // true
obj instanceof Boolean // true

如果参数是一个对象,则直接返回该对象,不转换。 可能用Object()方法判断是不是一个javascript 对象

function isObject(value){
	return value == Object(value);//相等value就是一个对象
}

Object对象的静态方法

所谓“静态方法”,是指部署在Object对象自身的方法。

函数 描述
Object.assign 函数 【详情 将来自一个或多个源对象中的值复制到一个目标对象。
Object.create 函数 【详情 创建具有指定原型并可选择包含指定属性的对象。
Object.defineProperties 函数 【详情 将一个或多个属性添加到对象,和/或修改现有属性的特性。
Object.defineProperty 函数 【详情 将属性添加到对象,或修改现有属性的特性。
Object.freeze 函数 【详情 防止修改现有属性的特性和值,并防止添加新属性。
Object.getOwnPropertyDescriptor 函数 返回数据属性或访问器属性的定义。
Object.getOwnPropertyNames 函数 返回对象属性及方法的名称。
Object.getOwnPropertySymbols 函数 返回对象的符号属性。
Object.getPrototypeOf 函数 返回对象的原型。
Object.is 函数 返回一个值,该值指示两个值是否相同。
Object.isExtensible 函数 【详情 返回指示是否可将新属性添加到对象的值。
Object.isFrozen 函数 【详情 如果无法在对象中修改现有属性的特性和值,并且无法将新属性添加到对象,则返回 true。
Object.isSealed 函数 【详情 如果无法在对象中修改现有属性特性,并且无法将新属性添加到对象,则返回 true。
Object.keys 函数 返回对象的可枚举属性和方法的名称。
Object.preventExtensions 函数 【详情 防止向对象添加新属性。
Object.seal 函数 【详情 防止修改现有属性的特性,并防止添加新属性。
Object.setPrototypeOf 函数 设置对象的原型。

Object对象实例的方法

方法 描述
hasOwnProperty 方法 返回一个布尔值,该值指示某个对象是否具有指定名称的属性。
isPrototypeOf 方法 返回一个布尔值,该值指示某个对象是否存在于另一个对象的原型层次结构中。
propertyIsEnumerable 方法 返回一个布尔值,该值指示指定属性是否为对象的一部分且是否可枚举。
toLocaleString 方法 返回基于当前区域设置转换为字符串的对象。
toString 方法 返回对象的字符串表示形式。
valueOf 方法 返回指定对象的基元值。
分类栏目
© 2018邮箱:11407215#qq.comGitHub沪ICP备12039518号-6