You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1016 B
39 lines
1016 B
= Object 方法
|
|
== Object.defineProperty
|
|
该方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
|
|
|
|
[source,javascript]
|
|
----
|
|
const object1 = {};
|
|
|
|
Object.defineProperty(object1, 'property1', {
|
|
value: 42,
|
|
writable: false
|
|
});
|
|
|
|
object1.property1 = 77;
|
|
// throws an error in strict mode
|
|
|
|
console.log(object1.property1);
|
|
// expected output: 42
|
|
----
|
|
|
|
NOTE: 应当直接在 Object 构造器对象上调用此方法,而不是在任意一个 Object 类型的实例上调用。
|
|
|
|
== Object.prototype.hasOwnProperty
|
|
该方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
|
|
|
|
[source,javascript]
|
|
----
|
|
const object1 = {};
|
|
object1.property1 = 42;
|
|
|
|
console.log(object1.hasOwnProperty('property1'));
|
|
// expected output: true
|
|
|
|
console.log(object1.hasOwnProperty('toString'));
|
|
// expected output: false
|
|
|
|
console.log(object1.hasOwnProperty('hasOwnProperty'));
|
|
// expected output: false
|
|
----
|