当前位置:首页 > Web开发 > 正文

是否有指定的键)

2024-03-31 Web开发

检察东西的要领,继续控制台输出,如图:

技术图片

hasOwnProperty():返回一个布尔值,指示东西自身属性中是否具有指定的属性(也就是,是否有指定的键)。

let object1 = new Object(); object1.property1 = 42; object1.hasOwnProperty(‘property1‘); // true object1.hasOwnProperty(‘toString‘); // false

isPrototypeOf():用于测试一个东西是否存在于另一个东西的原型链上。

function Foo() {} function Bar() {} function Baz() {} Bar.prototype = Object.create(Foo.prototype); Baz.prototype = Object.create(Bar.prototype); let baz = new Baz(); Baz.prototype.isPrototypeOf(baz); // true Bar.prototype.isPrototypeOf(baz); // true Foo.prototype.isPrototypeOf(baz); // true Object.prototype.isPrototypeOf(baz); // true

toString():返回一个暗示该东西的字符串。

let o = new Object(); o.toString(); // ‘[object Object]‘

valueOf():返回指定东西的原始值。

let o = new Object(); o.valueOf(); // {}

技术图片

Object.assign():用于将所有可枚举属性的值从一个或多个源东西复制到方针东西。它将返回方针东西。

let target = { a: 1, b: 2 }; let source = { b: 4, c: 5 }; let returnedTarget = Object.assign(target, source); target; // { a: 1, b: 4, c: 5 } returnedTarget; // { a: 1, b: 4, c: 5 }

Object.create():创建一个新东西,使用现有的东西来供给新创建的东西的__proto__。即创建一个以指定的东西为原型的子东西。

Object.setPrototypeOf():设置一个指定的东西的原型 ( 即, 内部[[Prototype]]属性)到另一个东西或null。

Object.getPrototypeOf():返回指定东西的原型(内部[[Prototype]]属性的值)。

let person = {name: ‘people‘}; let me = Object.create(person); me.name; // ‘people‘

let proto = {}; let obj = { x: 10 }; Object.setPrototypeOf(obj, proto); proto.y = 20; proto.z = 40; obj.x // 10 obj.y // 20 obj.z // 40

 let p = Object.getPrototypeOf(obj);

 proto === p; // true

 

Object.defineProperties():直接在一个东西上界说新的属性或改削现有属性,并返回该东西。

let obj = {}; Object.defineProperties(obj, { ‘property1‘: { value: true, writable: true }, ‘property2‘: { value: ‘Hello‘, writable: false } }); obj.property1; // true obj.property2; // ‘Hello‘

Object.defineProperty():会直接在一个东西上界说一个新属性,,或者改削一个东西的现有属性, 并返回这个东西。

let o = {}; let bValue = 1; Object.defineProperty(o, "b", { get : function(){ return bValue; }, set : function(newValue){ bValue = newValue; console.log(‘bValue变了‘); }, enumerable : true, configurable : true }); console.log(o.b); //1 o.b = 2; //‘bValue变了‘

Object.keys():会返回一个给定东西的自身可枚举属性构成的数组,数组中属性名的摆列挨次和使用for...in循环遍历该东西时返回的挨次一致 。

Object.values():返回一个给定东西自身的所有可枚举属性值的数组,值的挨次与使用for...in循环的挨次不异 ( 区别在于 for-in 循环枚举原型链中的属性 )。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32377.html