成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么在JavaScript中展開(kāi)運(yùn)算符-創(chuàng)新互聯(lián)

本篇文章為大家展示了怎么在JavaScript中展開(kāi)運(yùn)算符,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、大足ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的大足網(wǎng)站制作公司

展開(kāi)運(yùn)算符(spread operator)允許一個(gè)表達(dá)式在某處展開(kāi)。展開(kāi)運(yùn)算符在多個(gè)參數(shù)(用于函數(shù)調(diào)用)或多個(gè)元素(用于數(shù)組字面量)或者多個(gè)變量(用于解構(gòu)賦值)的地方可以使用。

let obj1 = {
 value1: 1,
 value2: 2
};
let obj2 = {...obj1
};
console.log(obj2); // {value1: 1, value2: 2}

上面的用法實(shí)際相當(dāng)于

obj2 = {value1: 1, value2: 2}

展開(kāi)運(yùn)算符的寫(xiě)法與obj2 = obj1直接賦值的寫(xiě)法的區(qū)別在于如果直接賦值的話,對(duì)于引用類(lèi)型來(lái)說(shuō),相當(dāng)于只是賦值了obj1的內(nèi)存空間地址,當(dāng)obj2發(fā)生改變的時(shí)候,obj1也會(huì)隨著發(fā)生改變。而是用展開(kāi)運(yùn)算符寫(xiě)法的話,由于obj1對(duì)象中的屬性類(lèi)型都是基本類(lèi)型,相當(dāng)于重新創(chuàng)建了一個(gè)對(duì)象,此時(shí)obj2發(fā)生改變的時(shí)候,并不會(huì)影響obj1這個(gè)對(duì)象。但是僅限于其屬性都為基本類(lèi)型的情況(或者說(shuō)只進(jìn)行了一層的深拷貝)。如果該對(duì)象中的屬性還有引用類(lèi)型的話,修改屬性中引用類(lèi)型的值,則兩個(gè)對(duì)象的屬性值都會(huì)被修改。

let obj1 = {
 attri1: [3, 6, 0],
 attri2: 4,
 attri4: 5
};
let obj2 = {...obj1
};

obj2.attri2 = 888;
obj2.attri1[0] = 7;

console.log('obj1:', obj1);
console.log('obj2:', obj2);

展開(kāi)運(yùn)算符的應(yīng)用

1.在函數(shù)中使用展開(kāi)運(yùn)算符

function test(a, b, c){};

let arr = [1, 2, 3];
test(...arr);

2.數(shù)組字面量中使用展開(kāi)運(yùn)算符

let arr1 = [1, 2];
let arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]

// 使用push方法
let arr1 = [1, 2];
let arr2 = [3. 4];
arr1.push(...arr2); // [1, 2, 3, 4]

3.用于解構(gòu)賦值,解構(gòu)賦值中展開(kāi)運(yùn)算符只能用在最后,否則會(huì)報(bào)錯(cuò)。

// 解構(gòu)賦值中展開(kāi)運(yùn)算符只能用在最后。
let [a, b, ...c] = [1, ,2, 3, 4]
console.log(a, b, c) // 1, 2, [3, 4]

4.類(lèi)數(shù)組變成數(shù)組

let oLis = document.getElementsByTagName("li");
let liArr = [...oLis];

5.對(duì)象中使用展開(kāi)運(yùn)算符
ES7中的對(duì)象展開(kāi)運(yùn)算符符可以讓我們更快捷地操作對(duì)象:

let {x,y,...z}={x:1,y:2,a:3,b:4};
x; // 1
y; // 2
z; // {a:3,b:4}

將一個(gè)對(duì)象插入另外一個(gè)對(duì)象當(dāng)中:

let z={a:3,b:4};
let n={x:1,y:2,...z};
console.log(n); //{x:1,y:2,a:3,b:4}

合并兩個(gè)對(duì)象:

let a={x:1,y:2};
let b={z:3};
let ab={...a,...b};
console.log(ab); // {x:1,y:2,z:3}

上述內(nèi)容就是怎么在JavaScript中展開(kāi)運(yùn)算符,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章名稱(chēng):怎么在JavaScript中展開(kāi)運(yùn)算符-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article36/dieosg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
海口市| 泰兴市| 张家界市| 长沙市| 满洲里市| 岳阳市| 仲巴县| 永胜县| 大庆市| 阿鲁科尔沁旗| 新疆| 武义县| 崇文区| 蒲城县| 嫩江县| 沙湾县| 信阳市| 郯城县| 尚义县| 广水市| 科技| 那曲县| 满洲里市| 凤山市| 沛县| 临朐县| 西昌市| 衡阳县| 中超| 若羌县| 叶城县| 杂多县| 出国| 辽阳县| 无为县| 濮阳县| 黄石市| 遂溪县| 东平县| 五河县| 盐池县|