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 } })