千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

基本數(shù)據(jù)類型(原始數(shù)據(jù)類型、簡單數(shù)據(jù)類型)
???????number
???????string
???????boolean
???????undefined
???????null
???基本數(shù)據(jù)類型指的是簡單的數(shù)據(jù)段,存儲在 棧(stack)中 基本數(shù)據(jù)類型 進(jìn)行的是 值傳遞
??????當(dāng)將 一個變量 賦值給 另外一個變量 是將這個變量的值 復(fù)制了一份 賦值給了 另外一個變量
??????兩個變量的值在內(nèi)存中是 相互獨(dú)立的 所以當(dāng)我們改變其中一個變量,對另外一個變量是不會影響
引用數(shù)據(jù)類型(對象數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型)
???????Function
???????Array
???????Object
???????......
引用數(shù)據(jù)類型指的是有多個值構(gòu)成的對象,存儲在 堆(heap 中
????????變量其實是保存在棧內(nèi)存中的一個指針
????????這個指針指向堆內(nèi)存的引用地址
??????引用數(shù)據(jù)類型 進(jìn)行的是 引用傳遞 當(dāng)將 一個變量 賦值給 另外一個變量
????????是將這個變量的的引用地址 賦值給了 另外一個變量 兩個變量的指針此時指向的是同一個 引用地址
????????所以當(dāng)我們改變其中一個變量時,另外一個變量也會發(fā)生變量
淺拷貝
??????當(dāng)我們拷貝一個對象的時候,只會拷貝對象第一層的值,
??????而對于對象深層數(shù)據(jù)都拷貝的是 引用地址
??????淺拷貝拷貝的是對象的引用地址,當(dāng)我們根據(jù)一個對象拷貝得到一個新的對象
??????一個對象發(fā)生變化的時候,另一個也會受到影響
深拷貝
??????當(dāng)我們拷貝一個對象的時候,對于對象的每一層數(shù)據(jù)都拷貝的是 值,而不是引用地址
??????深拷貝拷貝的是對象的值,?當(dāng)我們根據(jù)一個對象拷貝得到一個新的對象
??????一個對象發(fā)生變化的時候,另一個是不會受到影響,兩個對象是獨(dú)立的
??????實現(xiàn)深拷貝的方式
????????json的正反序列
????????lodash庫的_.cloneDeep()方法
????????遞歸