1. 程式人生 > >變量類型

變量類型

variable 一個 struct 簡單 布爾 str ret push 返回

基本類型和引用類型

  • 基本類型值指的是那些保存在棧內存中的簡單數據段,即這種值完全保存在內存中的一個位置。
  • 引用類型值是指那些保存在堆內存中的對象,意思是變量中保存的實際上只是一個指針,這個指針指向內存中的另一個位置,該位置保存對象。
  1. 深復制(遞歸)

    function deepClone(data){
        var type = getType(data);
        var obj;
        if(type === ‘array‘){
            obj = [];
        } else if(type === ‘object‘){
            obj = {};
        } else {
            //不再具有下一層次
            return data;
        }
        if(type === ‘array‘){
            for(var i = 0, len = data.length; i < len; i++){
                obj.push(deepClone(data[i]));
            }
        } else if(type === ‘object‘){
            for(var key in data){
                obj[key] = deepClone(data[key]);
            }
        }
        return obj;
    }
  2. 檢測類型
  • typeof可以確定一個變量是字符串、數值、布爾值和 undefined,如果變量的值是對象或者 null,就會返回 “object”
  • instanceof用來確定引用類型的實例

    result = variable instanceof constructor

變量類型