一周 “新姿勢”

前言


這里解釋一下為什么“新姿勢”加了引號间校,這里的“新姿勢”是指矾克,我這一周內(nèi)根據(jù)新的項目需求,分析需求到實現(xiàn)需求的知識憔足、方法胁附;通過閱讀文章,而學(xué)到的新知識滓彰。也是對這一周的總結(jié)控妻,我也希望借此分享出來〗野螅可能你現(xiàn)在遇到了同樣的需求弓候,或許這篇文章可以幫到你。也可能你現(xiàn)在沒遇到這樣的需求洗做,也可以看看混個眼熟弓叛,說不定哪天碰到了,或許這篇文章可以幫到你诚纸。在此聲明一下,以后的文章中我都會使用新姿勢代替新知識陈惰,希望大家可以理解畦徘”献眩“新姿勢”這個欄目一周一篇,會在每周一更新上一周的“新姿勢”井辆,喜歡的老鐵可以點個贊关筒,分享一下,你的認可是我最大的動力~



1 ? 賦值

將某一數(shù)值賦給某個變量的過程杯缺,稱為賦值蒸播。

例如:

1、let a = 10; b = a; a = 11;?

????console.log(a); // 11?

????console.log(b); // 10

2萍肆、let a = [1, 2, 3]; b = a; a = [4, 5, 6];

????console.log(a); // [4, 5, 6]

????console.log(b); // [1, 2, 3]

3袍榆、let a = [1, 2, 3]; b = a; a.pop();

????console.log(a); // [1, 2]

????console.log(b); // [1, 2]

4、let a = {a: 1, b: 2}; b = a; a = {a: 3, b: 4};

????console.log(a); // {a: 3, b: 4}

????console.log(b); // {a: 1, b: 2}

5塘揣、let a = {a: 1, b: 2}; b = a; a.b = 3;

????console.log(a); //?{a: 1, b: 3}

????console.log(b); //?{a: 1, b: 3}

仔細考慮2包雀、3、4亲铡、5兩個例子才写。有助于對賦值這個概念和定義的理解。

淺拷貝


淺拷貝是拷貝引用奖蔓,拷貝后的引用都是指向同一個對象的實例赞草,彼此之間的操作會互相影響。

淺拷貝分兩種情況吆鹤,拷貝直接拷貝源對象的引用 和 源對象拷貝實例厨疙,但其屬性(類型為Object,Array的屬性)拷貝引用檀头。

拷貝原對象的引用

這是最簡單的淺拷貝轰异。例如:

1

2

3

4

5

var a = {c:1};

var b = a;

console.log(a === b); // 輸出true。

a.c = 2;

console.log(b.c); // 輸出 2

源對象拷貝實例暑始,其屬性對象拷貝引用

這種情況搭独,外層源對象是拷貝實例,如果其屬性元素為復(fù)雜雜數(shù)據(jù)類型時廊镜,內(nèi)層元素拷貝引用牙肝。對源對象直接操作,不影響另外一個對象嗤朴,但是對其屬性操作時候配椭,會改變另外一個對象的屬性的值。
常用方法為:Array.prototype.slice(),?Array.prototype.concat(),?jQury的$.extend({},obj)等雹姊。例如:

1

2

3

4

5

var a = [{c:1}, {d:2}];

var b = a.slice();

console.log(a === b); // 輸出false股缸,說明外層數(shù)組拷貝的是實例

a[0].c = 3;

console.log(b[0].c); // 輸出 3,說明其元素拷貝的是引用

? 深拷貝

在堆中重新分配內(nèi)存吱雏,并且把源對象所有屬性都進行新建拷貝敦姻,以保證深拷貝的對象的引用圖不包含任何原有對象或?qū)ο髨D上的任何對象瘾境,拷貝后的對象與原來的對象是完全隔離,互不影響镰惦。

深拷貝后迷守,兩個對象,包括其內(nèi)部的元素互不干擾旺入。常見方法有遞歸兑凿,JSON.parse()、JSON.stringify()茵瘾,jQury的$.extend(true,{},obj)礼华,lodash的_.cloneDeep和_.clone(value, true)等。例如:

1

2

3

4

5

var a = {c: {d: 1}};

var b = $.extend(true, {}, a);

console.log(a === b); // 輸出false

a.c.d = 3;

console.log(b.c.d); // 輸出 1龄捡,沒有改變卓嫂。



溫馨提示

本周的新姿勢就到這兒了,喜歡的朋友可以關(guān)注一下聘殖,分享一下晨雳,咱們下周見~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市奸腺,隨后出現(xiàn)的幾起案子餐禁,更是在濱河造成了極大的恐慌,老刑警劉巖突照,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帮非,死亡現(xiàn)場離奇詭異,居然都是意外死亡讹蘑,警方通過查閱死者的電腦和手機末盔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來座慰,“玉大人陨舱,你說我怎么就攤上這事“孀校” “怎么了游盲?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛮粮。 經(jīng)常有香客問我益缎,道長,這世上最難降的妖魔是什么然想? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任莺奔,我火速辦了婚禮,結(jié)果婚禮上变泄,老公的妹妹穿的比我還像新娘弊仪。我一直安慰自己熙卡,他們只是感情好杖刷,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布励饵。 她就那樣靜靜地躺著,像睡著了一般滑燃。 火紅的嫁衣襯著肌膚如雪役听。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天表窘,我揣著相機與錄音典予,去河邊找鬼。 笑死乐严,一個胖子當著我的面吹牛瘤袖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昂验,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼捂敌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了既琴?” 一聲冷哼從身側(cè)響起占婉,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎甫恩,沒想到半個月后逆济,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡磺箕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年奖慌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片松靡。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡简僧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出击困,到底是詐尸還是另有隱情涎劈,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布阅茶,位于F島的核電站蛛枚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏脸哀。R本人自食惡果不足惜蹦浦,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撞蜂。 院中可真熱鬧盲镶,春花似錦侥袜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宇色,卻和暖如春九杂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宣蠕。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工例隆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抢蚀。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓镀层,卻偏偏與公主長得像,于是被迫代替她去往敵國和親皿曲。 傳聞我的和親對象是個殘疾皇子唱逢,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,153評論 0 13
  • 前言 最先接觸編程的知識是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識博投,c語言绸贡,java語言,單片機的匯編語言等毅哗;大學(xué)畢...
    oceanfive閱讀 3,095評論 0 7
  • 1听怕、使用typeof bar ===“object”來確定bar是否是一個對象時有什么潛在的缺陷?這個陷阱如何避免...
    深海鯽魚堡閱讀 662評論 1 1
  • 1.每日練字 2.每日60S 3.每日閱讀 行動力是解決一切焦慮的根源虑绵!
    木榆梓閱讀 79評論 0 0
  • 今天和大家簡單分享介詞on的相關(guān)知識尿瞭。 分享之前,先跟大家推薦一本書翅睛,叫《學(xué)習(xí)之道》声搁。我個人覺得寫的不錯,值得一看...
    十之八9閱讀 288評論 1 4