日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

js内置对象

發布時間:2023/11/18 windows 39 coder
生活随笔 收集整理的這篇文章主要介紹了 js内置对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Js 標準內置對象

Object

Object 是 JavaScript 的一種數據類型。它用于存儲各種鍵值集合和更復雜的實體。可以通過 Object() 構造函數或者使用對象字面量的方式創建對象。

Object.assign()

Object.assign() 靜態方法將一個或者多個源對象中所有可枚舉的自有屬性復制到目標對象,并返回修改后的目標對象。

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source); 
// target 目標對象 需要應用源對象屬性的目標對象,修改后將作為返回值
// source 源對象

console.log(target);
// Expected output: Object { a: 1, b: 4, c: 5 }

描述

如果目標對象與源對象具有相同的鍵(屬性名),則目標對象中的屬性將被源對象中的屬性覆蓋,后面的源對象的屬性將類似地覆蓋前面的源對象的同名屬性。

Object.assign() 方法只會拷貝源對象可枚舉的自有屬性到目標對象。該方法在源對象上使用 [[Get]],在目標對象上使用 [[Set]],因此它會調用 getter 和 setter。故它對屬性進行賦值,而不僅僅是復制或定義新的屬性。如果合并源對象包含 getter 的新屬性到原型中,則可能不適合使用此方法。

如果要將屬性定義(包括它們的可枚舉性)復制到原型中,則應改用 Object.getOwnPropertyDescriptor()Object.defineProperty() 方法。

字符串Symbol 類型屬性都會被復制。

如果賦值期間出錯,例如如果屬性不可寫,則會拋出 TypeError;如果在拋出異常之前已經添加了一些屬性,則這些屬性會被保留,而 target 對象也會被修改。

備注: Object.assign() 不會在源對象值為 nullundefined 時拋出錯誤

  1. 復制對象
const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }
  1. 深拷貝問題

    針對深拷貝,需要使用其他辦法,因為 Object.assign() 只復制屬性值。

    const obj1 = { a: 0, b: { c: 0 } };
    const obj2 = Object.assign({}, obj1);
    console.log(obj2); // { a: 0, b: { c: 0 } }
    
    obj1.a = 1;
    console.log(obj1); // { a: 1, b: { c: 0 } }
    console.log(obj2); // { a: 0, b: { c: 0 } }
    
    obj2.a = 2;
    console.log(obj1); // { a: 1, b: { c: 0 } }
    console.log(obj2); // { a: 2, b: { c: 0 } }
    
    // 假如源對象是一個對象的引用,它僅僅會復制其引用值。
    obj2.b.c = 3;
    console.log(obj1); // { a: 1, b: { c: 3 } }
    console.log(obj2); // { a: 2, b: { c: 3 } }
    
    // 深拷貝
    const obj3 = { a: 0, b: { c: 0 } };
    const obj4 = JSON.parse(JSON.stringify(obj3));
    obj3.a = 4;
    obj3.b.c = 4;
    console.log(obj4); // { a: 0, b: { c: 0 } }
    
    
    1. 合并對象
    const o1 = { a: 1 };
    const o2 = { b: 2 };
    const o3 = { c: 3 };
    
    const obj = Object.assign(o1, o2, o3);
    console.log(obj); // { a: 1, b: 2, c: 3 }
    console.log(o1); // { a: 1, b: 2, c: 3 },目標對象本身發生了變化
    
    // 合并具有相同屬性的對象   
    const o1 = { a: 1, b: 1, c: 1 };
    const o2 = { b: 2, c: 2 };
    const o3 = { c: 3 };
    
    const obj = Object.assign({}, o1, o2, o3);
    console.log(obj); // { a: 1, b: 2, c: 3 }
    
    

    屬性會被后續參數中具有相同屬性的其他對象覆蓋。

    1. 拷貝 Symbol 類型屬性

    const o1 = { a: 1 };
    const o2 = { [Symbol("foo")]: 2 };
    
    const obj = Object.assign({}, o1, o2);
    console.log(obj); // { a : 1, [Symbol("foo")]: 2 } (cf. bug 1207182 on Firefox)
    Object.getOwnPropertySymbols(obj); // [Symbol(foo)]
    
    
    1. 原型鏈上的屬性和不可枚舉的屬性不能被復制

    2. 基本類型會被封裝為對象

    const v1 = "abc";
    const v2 = true;
    const v3 = 10;
    const v4 = Symbol("foo");
    
    const obj = Object.assign({}, v1, null, v2, undefined, v3, v4);
    // 基本類型將被封裝,null 和 undefined 將被忽略。
    // 注意,只有字符串封裝對象才擁有可枚舉的自有屬性。
    console.log(obj); // { "0": "a", "1": "b", "2": "c" }
    
    
    1. 異常會中斷后續的復制

總結

以上是生活随笔為你收集整理的js内置对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97成人人妻一区二区三区 | 日本a级c片免费看三区 | 国产精品xxxx喷水欧美 | 老子影院午夜伦不卡大全 | 免费在线观看成人 | 99小视频| 99热99re6国产在线播放 | 中文字幕第5页 | 午夜日韩视频 | 国产伦精品一区二区三区视频女 | 婷婷婷色 | 韩国久久久 | 成人国产精品视频 | 已满18岁免费观看电视连续剧 | 性感美女av在线 | 亚洲精品一区二区三区精华液 | 欧美午夜精品 | 一区二区精 | 成人在线免费播放视频 | 日日干夜 | 日韩一级在线播放 | 日韩av大片 | 欧美亚洲高清 | 久久国产在线观看 | 黑巨茎大战欧美白妞 | 狠狠躁 | 日韩人妻无码精品久久免费 | 亚洲青涩网 | 丰满人妻一区二区三区四区 | 黑人和白人做爰 | 日韩专区视频 | 国产精品三区在线观看 | 吊视频一区二区三区 | 一级片在线免费看 | av动漫网 | 国产精品久久久久久影视 | 性欧美视频在线观看 | 日韩在线视频观看免费 | 久久综合丁香 | 国产高清一区在线 | 欧美一区二区三区四 | 亚洲午夜不卡 | 波多野结衣一二三四区 | 日韩日日夜夜 | 一级看片 | 日本精品视频一区 | 欧洲一区二区在线观看 | 久草香蕉视频 | 伊人网伊人影院 | 强开小嫩苞一区二区三区网站 | xxxx视频在线 | 亚洲区自拍偷拍 | 二色av| 在线免费成人网 | 亚洲一区二区中文 | 中文字幕你懂的 | 亚洲国产aⅴ精品一区二区的游戏 | 免费无遮挡无码永久在线观看视频 | 久久亚洲av成人无码国产电影 | 中文字幕一区二区三区四区 | 亚洲专区在线播放 | 欧美一级爱爱 | 伊人春色在线 | 91精彩刺激对白 | 国产精品视频全国免费观看 | 爱逼综合网| 手机av中文字幕 | 日本国产高清 | 成熟妇人a片免费看网站 | 无法忍受在线观看 | 日韩欧美精品中文字幕 | 国产精选在线观看 | 电影91久久久| 国产精品s| 日本亚洲免费 | 日本精品网站 | 婷婷国产一区二区三区 | 欧美日韩aa | 天天av网| 精品一区二区三区四区 | 日韩成人综合 | 日韩videos| 激情xxxx| 日韩一区二区三区免费在线观看 | 久久久久久久久久久久久久av | 欧美爱爱免费视频 | 国产精品毛片一区二区在线看舒淇 | 久久黄色免费视频 | 日韩欧美精品在线观看 | 亚洲天堂男人天堂 | 色戒电影未测减除版 | 欧美日韩在线视频观看 | 美女网站在线免费观看 | 日韩少妇内射免费播放18禁裸乳 | 中文字幕在线看高清电影 | 毛片一级在线观看 | 999精品网站 | 午夜精品国产精品大乳美女 | 黄色免费在线播放 |