日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

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

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

一.變量克隆

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

這里我寫了一個復制值的函數(shù),可以進行深度復制,也能進行淺復制,要進行深度復制只需要將第二個參數(shù)設置為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中經(jīng)常會遇到需要判斷變量類型的情況,下面是一個我寫的一個實現(xiàn)判斷變量類型的函數(shù)

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){//判斷內(nèi)置對象//return {}.toString.call(data).slice(8,-1);//除了可以判斷內(nèi)置對象還能判斷自定義對象return data.constructor.toString().split(" ")[1].split("()")[0] }

?

轉(zhuǎn)載于:https://www.cnblogs.com/QxQstar/p/6105161.html

總結

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。