js中对象常用方法

本文深入探讨了JavaScript中对象的多种方法,包括Object.assign用于对象克隆,Object.is进行精确值比较,Object.keys获取可枚举属性名,Object.defineProperty及Object.defineProperties用于属性劫持,以及isPrototypeOf检查原型链关系。通过实例讲解,帮助读者理解并掌握这些核心方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言
数组对象,爱之深,恨之切。上篇讲了数组的一些方法,接下来再来和我一起欣赏下属于对象的方法吧。

Object.assign()
… 用于克隆

	var first = {name : 'kong'};
    var last = {age : 18};
    var person = Object.assign(first, last);
    console.log(person);//{name : 'kong', age : 18

Object.is()
…用于判断两个值是否相同

Object.is(a, b);//返回true或false

//注意,该函数与==运算符不同,不会强制转换任何类型,
应该更加类似于===,但值得注意的是它会将+0和-0视作不同值

Object.keys()
…用于返回对象可枚举的属性和方法的名称

var a = {name : 'kong', age : 18, func : function(){}};
Object.keys(a); //['name', 'age', 'func']

Object.defineProperty()
…劫持变量的set和get方法,将属性添加到对象,或修改现有属性的特性

var a = {};
Object.defineProperty(a, 'name', {
	value : 'kong',
	enumerable : true	//该属性是否可枚举
})

Object.defineProperties()
…可添加多个属性,与Object.defineProperty()对应,

Object.defineProperties(a, {
	name : {
		value : 'kong',
		enumerable : true
	},
	job : {
		value : 'student',
		enumerable : true
	}
})

isPrototypeOf
…确定一个对象是否存在于另一个对象的原型链中

function a(){}
var b = new a();
console.log(a.prototype.isPrototypeOf(b));//true

在这里插入图片描述
结尾
千里之行始于足下,重新把基础夯实一下,如果存在错误或者表达不当,还望及时告知,whj

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值