摘要:最近發(fā)現(xiàn)很多同學(xué)的博客里都會解釋連續(xù)賦值問題,各種概念輩出,特別是對于不理解的同學(xué)來說,更加一頭霧水,我這里做個簡單解釋,也許不懂的一看就明白了。
最近發(fā)現(xiàn)很多同學(xué)的博客里都會解釋js連續(xù)賦值問題,各種概念輩出,特別是對于不理解的同學(xué)來說,更加一頭霧水,我這里做個簡單解釋,也許不懂的一看就明白了。
先拋出一個問題:
var a = {c:1} //第一步 var b = a; //第二步 a.x = b.y = b = {c:2} //第三步 console.log(a) // {c:1,x:{c:2},y:{c:2}} console.log(b) // {c:2}
第一步,第二步相信大家都很好理解,但是第三步是什么鬼,現(xiàn)實中基本上很難遇到,而且也不推薦這么寫,好好的賦值不行么,干嘛要搞事情?對,話雖這么說,但是這畢竟是考驗大家對賦值的理解嘛。在拆解以上問題的時候,大伙兒要先明白兩個概念
1、引用數(shù)據(jù)細節(jié)給一個變量賦值的時候,若“=”右側(cè)是基本數(shù)據(jù)類型(Boolean String Number Null Undefined),就是真的“賦值”了;若“=”右側(cè)是復(fù)合型數(shù)據(jù)(Array Object),則是數(shù)據(jù)的引用,也就是“指向”不一樣而已
2、賦值數(shù)據(jù)可拆分成兩步例如:var d = 1 其實相當于 var d;d = 1;
理解以上兩個概念后,我們以圖示演示第一步、第二步執(zhí)行完畢的結(jié)果
執(zhí)行到第二步是以上結(jié)果,相信不難理解。
然后我們再將第三步拆解為步驟甲、乙、丙
a.x = undefined b.y = undefined
圖示
這個時候b的指向發(fā)生了變化
b = {c:2}
圖示:
最后將b指向的內(nèi)容分別賦值給a.x a.y。這個時候問題的難點就來了。不是b.y么,為毛變成a.y了? 逗我玩呢是不?我們往上看,步驟乙,這個時候a和b都是指向同一個內(nèi)存地址,誰的x誰的y沒有區(qū)別,大家是好兄弟,共用的。
a.x = {c:2} a.y = {c:2}
圖示:
是不是很簡單?如果你還是不理解,那么哥只能給你一個建議:吃飯睡覺上廁所,夜里別想妹子,只要腦袋是清醒的,就思考這個問題。不用兩天,你肯定可以搞懂。
PS:還搞不懂咋整?還搞不懂你打我(打不到)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/92758.html
摘要:本文章記錄本人在深入學(xué)習(xí)條件表達式中看書理解到的一些東西,并且整理記錄下來,加深記憶和方便之后的復(fù)習(xí)。表達式的值具有線性特征,如對連續(xù)的區(qū)間值進行判斷。 本文章記錄本人在深入學(xué)習(xí)js條件表達式中看書理解到的一些東西,并且整理記錄下來,加深記憶和方便之后的復(fù)習(xí)。主要是深入學(xué)習(xí)if else和switch語句的一些性能優(yōu)化和邏輯思維。 提高條件性能的策略 js的條件表達式和其他語言一樣...
摘要:優(yōu)點簡單粗暴,直接調(diào)用缺點兼容性不太好,不過的話都支持你可能不知道的前端知識點對象和的方法。下面從深層次剖析一下對于開始的兩個賦值語句,,,相當于,而顯然等于。同理可以分析第三個賦值語句 有些東西很好用,但是你未必知道;有些東西你可能用過,但是你未必知道原理。 實現(xiàn)一個目的有多種途徑,俗話說,條條大路通羅馬。很多內(nèi)容來自平時的一些收集以及過往博客文章底下的精彩評論,收集整理拓展一波,發(fā)...
摘要:優(yōu)點簡單粗暴,直接調(diào)用缺點兼容性不太好,不過的話都支持你可能不知道的前端知識點對象和的方法。下面從深層次剖析一下對于開始的兩個賦值語句,,,相當于,而顯然等于。同理可以分析第三個賦值語句 有些東西很好用,但是你未必知道;有些東西你可能用過,但是你未必知道原理。 實現(xiàn)一個目的有多種途徑,俗話說,條條大路通羅馬。很多內(nèi)容來自平時的一些收集以及過往博客文章底下的精彩評論,收集整理拓展一波,發(fā)...
摘要:優(yōu)點簡單粗暴,直接調(diào)用缺點兼容性不太好,不過的話都支持你可能不知道的前端知識點對象和的方法。下面從深層次剖析一下對于開始的兩個賦值語句,,,相當于,而顯然等于。同理可以分析第三個賦值語句 有些東西很好用,但是你未必知道;有些東西你可能用過,但是你未必知道原理。 實現(xiàn)一個目的有多種途徑,俗話說,條條大路通羅馬。很多內(nèi)容來自平時的一些收集以及過往博客文章底下的精彩評論,收集整理拓展一波,發(fā)...
閱讀 6932·2021-09-22 15:08
閱讀 1933·2021-08-24 10:03
閱讀 2446·2021-08-20 09:36
閱讀 1323·2020-12-03 17:22
閱讀 2481·2019-08-30 15:55
閱讀 913·2019-08-29 16:13
閱讀 3061·2019-08-29 12:41
閱讀 3257·2019-08-26 12:12