陳甯八十年代插圖作品

著名畫家陳甯,1957年12月出生于上海,畢業于上海工藝美術學校,是上海美術家協會會員。其代表作品有連環畫《今夏流行明黃色》,《馬超》,《劉秀》,《宋士傑》,《纣王自焚》等。

陳甯八十年代插圖作品

案發野狼谷

陳甯八十年代插圖作品
陳甯八十年代插圖作品
陳甯八十年代插圖作品
陳甯八十年代插圖作品

生孩子送紅雞蛋的來曆

陳甯八十年代插圖作品
陳甯八十年代插圖作品

蘭陵美酒

陳甯八十年代插圖作品
陳甯八十年代插圖作品

滑頭班長

陳甯八十年代插圖作品
陳甯八十年代插圖作品

蘭溪火腿

陳甯八十年代插圖作品

平湖糟蛋

陳甯八十年代插圖作品

金華火腿的故事

陳甯八十年代插圖作品

八哥

陳甯八十年代插圖作品

吳用的妙計

陳甯八十年代插圖作品
陳甯八十年代插圖作品

王小山搬救兵

陳甯八十年代插圖作品
陳甯八十年代插圖作品

勇擒白日闖

陳甯八十年代插圖作品
陳甯

JS-對象深克隆

對象深克隆

在實際開發過程中,經常遇到需要對引用類型進行深克隆的地方;引用類型的位址存在棧中,而值存在堆中。如果對象淺拷貝,拷貝的對象的屬性變化會引起原對象的屬性變化,在一些地方我們不希望原對象屬性跟随新對象的屬性變化;需要我們實作深克隆。
function deepClone(obj){
   // 判斷傳參是否是一個有值的對象
   function isObj(obj){
         return (typeof obj==='object'||typeof obj==='function'&&obj!==null)
   }
   if(!isObj){
        return 0bj;
   }
   // 解構指派--判斷是否為數組
   let newObj=Array.isArray(obj)?[...obj]:{...obj};
   // 收集對象屬性,進行值的周遊
   Reflect.ownKeys(newObj).forEach(key=>{
         // 判斷對象的屬性是否是引用類型
         newObj[key]=isObj(obj[key])?deepClone(obj[key]):obj[key];
    });
    return newObj;
 };
           

測試:

let obj={
     id:235,
     name:'xx',
     say(){
        console.log('xx');
     },
     child:{
        name:'hh',
         say(){
            console.log('hh');
        },
        child:{
            name:'cc',
            say(){
                console.log('cc');
             }
        }
    }
};
let newObj=deepClone(obj);
console.log(newObj);
console.log('數組:',deepClone([1,3,4,{id:'666'}]));
           
JS-對象深克隆

繼續閱讀