--- title: 31-对象的高级操作 --- ## hasOwnProperty():判断对象中是否包含某个属性 hasOwnProperty() 是 Object 对象的一个方法,用于判断对象自身(即不包括从原型链继承来的属性)是否具有某个特定的属性。 语法: ```js obj.hasOwnProperty(prop); ``` 解释: - obj 是要检查的对象。 - prop 是一个字符串,表示要检查的属性名。 返回值:如果对象 obj 自身包含名为 prop 的属性,则返回 true。否则,返回 false。 举例: ```js const obj = {a: undefined, b: 2, c: 3}; console.log(obj.hasOwnProperty('a')); // true console.log(obj.hasOwnProperty('b')); // true console.log(obj.hasOwnProperty('d')); // false ``` ## Object.freeze() 冻结对象 Object.freeze() 方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。 代码举例: ```js const params = { name: 'qianguyihao'; port: '8899'; } Object.freeze(params); // 冻结对象 params params.port = '8080';// 修改无效 ``` 上方代码中,把 params 对象冻结后,如果想再改变 params 里面的属性值,是无效的。