日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JavaScript 变量克隆和判断变量类型

發布時間:2025/7/25 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 变量克隆和判断变量类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.變量克隆

在js中經常會遇到將一個變量賦值給一個新的變量這種情況,這對于基本類型很容易去實現,直接通過等號賦值就可以了,對于引用類型就不能這樣了。(注:像函數,正則也可以直接通過等號賦值)

這里我寫了一個復制值的函數,可以進行深度復制,也能進行淺復制,要進行深度復制只需要將第二個參數設置為true即可

function clone(data,deep){var cloneData = undefined;var data = arguments[0],deep = arguments[1];if(!deep){return data;}else{if(typeof deep === 'boolean'){if(className(data) === 'Object'){cloneData = {};for(key in data){if(data.hasOwnProperty(key)){cloneData[key] = arguments.callee(data[key],deep);}}return cloneData;}else if(className(data) === 'Array'){cloneData = [];for(var i = 0,len = data.length;i<len;i++){cloneData[i] = arguments.callee(data[i],deep);}return cloneData;}else{return data}}else{return data;}} }function className(obj){return {}.toString.call(obj).slice(8,-1); }

?二.判斷變量類型

在js中經常會遇到需要判斷變量類型的情況,下面是一個我寫的一個實現判斷變量類型的函數

function type(data){if(data === null){return data + "";}if(typeof data === 'object'){return className(data);}else{
    if(typeof /\s/ === 'function'&&typeof data === 'function'){
      if(data instanceof RegExp){
        return "regexp";
      }else{
        return "function"
      }
    }else{
        return typeof data;
      }
} }function className(data){//判斷內置對象//return {}.toString.call(data).slice(8,-1);//除了可以判斷內置對象還能判斷自定義對象return data.constructor.toString().split(" ")[1].split("()")[0] }

?

轉載于:https://www.cnblogs.com/QxQstar/p/6105161.html

總結

以上是生活随笔為你收集整理的JavaScript 变量克隆和判断变量类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。