日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

java開發(fā)之常用的Javascript對象方法整理分享

 IT小白在線 2021-09-15

Javascript 對象方法是包含內(nèi)置函數(shù)定義的屬性,用于有效地處理單個對象并從中獲取信息。

語法:ObjectName.methodName()

在本文中,我們將討論 Javascript 中 7 個最常用的對象方法,它們將幫助你更輕松地使用對象原型!

1、 Object.is()

Object.is() 是一種判斷兩個值是否相同的方法。

語法:Object.is(value1, value2);

參數(shù):

value1:要比較的第一個值。

value2:要比較的第二個值。

返回值:一個布爾表達(dá)式,指示兩個參數(shù)是否具有相同的值。

例子:

// Case 1: Evaluation result is the same as using '==='
Object.is(25, 25);                // true
Object.is('foo', 'bar');          // false
Object.is(foo, foo);              // true
// Case 2: Signed zero
Object.is(0, -0);                 // false
Object.is(0n, -0n);               // true
// Case 3: NaN
Object.is(NaN, 0/0);              // true
Object.is(NaN, Number.NaN)        // true

2、Object.assign()

Object.assign() 方法用于將所有可枚舉的自身屬性從一個或多個源對象復(fù)制到目標(biāo)對象。

語法:Object.assign(target, ...sources)

參數(shù):

target:目標(biāo)對象——應(yīng)用源屬性的對象,修改后返回。

sources:源對象——包含你要應(yīng)用的屬性的對象。

返回值:修改后的目標(biāo)對象。

例子:

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }

注意:如果源對象中的屬性具有相同的鍵,則目標(biāo)對象中的屬性會被源中的屬性覆蓋。較晚來源的屬性會覆蓋較早來源的屬性。

3、Object.entries()

Object.entries() 方法返回給定對象自己的可枚舉字符串鍵屬性 [key, value] 對的數(shù)組。

它類似于使用 for...in 循環(huán)進(jìn)行迭代,除了 for...in 循環(huán)還會枚舉原型鏈中的屬性。屬性的順序與通過手動循環(huán)對象的屬性值給出的順序相同。

語法:Object.entries(obj)

參數(shù):

obj:要返回其自己的可枚舉字符串鍵屬性 [key, value] 對的對象。

返回值:給定對象自己的可枚舉字符串鍵屬性 [key, value] 對的數(shù)組。

例子:

const object1 = {name: "David", age: 23};
for (const [key, value] of Object.entries(object1)) {
  console.log(`${key}: ${value}`);
}
// "name: David"
// "age: 23"

4、Object.values()

Object.values() 方法返回給定對象自己的可枚舉屬性值的數(shù)組,其順序與 for...in 循環(huán)提供的順序相同。

語法:Object.values(obj)

參數(shù):

obj:要返回其可枚舉自身屬性值的對象。

返回值:包含給定對象自己的可枚舉屬性值的數(shù)組。

例子:

const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};
console.log(Object.values(object1));
// expected output: Array ["somestring", 42, false]

5、Object.prototype.hasOwnProperty()

hasOwnProperty() 方法返回一個布爾值,指示對象是否具有指定的屬性作為它自己的屬性。

如果指定的屬性是對象的直接屬性,則該方法返回 true — 即使值為 null 或未定義。如果該屬性是繼承的或根本沒有聲明,則返回 false。

語法:hasOwnProperty(prop)

參數(shù)

prop:要測試的屬性的字符串名稱或符號。

返回值:如果對象將指定的屬性作為自己的屬性,則返回true;否則為false。

例子:

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

6、Object.keys()

Object.keys() 方法用于返回給定對象自己的可枚舉屬性名稱的數(shù)組,以與普通循環(huán)相同的順序迭代。

語法:Object.keys(obj)

參數(shù):

obj:要返回可枚舉自身屬性的對象。

返回值:表示給定對象的所有可枚舉屬性的字符串?dāng)?shù)組。

例子:

const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};
console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]

7、 Object.prototype.toString()

toString() 方法返回一個表示對象的字符串。當(dāng)對象將被表示為文本值或以期望字符串的方式引用對象時,將自動調(diào)用此方法 id。默認(rèn)情況下,toString() 方法由從 Object 繼承的每個對象繼承。

語法:toString()

返回值:表示對象的字符串。

例子:

function Dog(name) {
  this.name = name;
}
const dog1 = new Dog('Gabby');
Dog.prototype.toString = function dogToString() {
  return `${this.name}`;
};
console.log(dog1.toString());
// expected output: "Gabby"

注意:對于 Numbers 和 Big Ints,toString() 采用可選參數(shù) radix,其值必須最小為 2,最大為 36。

8、Object.freeze()

Object.freeze() 方法凍結(jié)一個對象,這意味著它不能再被更改。凍結(jié)對象可防止向其添加新屬性,防止刪除現(xiàn)有屬性,防止更改現(xiàn)有屬性的可枚舉性、可配置性或可寫性,并防止更改現(xiàn)有屬性的值。它還可以防止其原型被更改。

語法:Object.freeze(obj)

參數(shù):

obj:要凍結(jié)的對象。

返回值:傳遞給函數(shù)的對象。

例子:

const obj = {
 prop: 42
};
Object.freeze(obj);
obj.prop = 33;
// Throws an error in strict mode
console.log(obj.prop);
// expected output: 42

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多