国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

淺析Js中數據類型判斷的方法

Worktile / 1143人閱讀

摘要:語法參數要檢測的對象某個構造函數通過這個運算符我們就可以用來檢測真正的數據類型但是如果是的話,好像就沒辦法解決了呢。

1.typeof操作符返回一個字符串,指示未經計算的操作數的類型。

語法:type opreand
參數: opreand是一個表達式,表示對象或者原始值,其類型將被返回。
描述:
    類型                         結果
    Undefined                    "undefined"
    Null                         "object"
    Boolean                      "boolean"
    Number                       "number"
    String                       "string"
    Symbol(ECMAScript 6 新增)    "symbol"
    函數對象                      "function"
    任何其他對象                  "object"

2.typeof 對于一些特殊數據時的表現

typeof (new Number(1));          //結果并不是想象中的"number"而是"object"
typeof (new String("hello"));     //同理結果仍然是"object"
tyoeof (new Boolean(true));       //返回"object"

typeof null;                      //返回也為"object"

3.instanceof 運算符用來測試一個對象在其原型鏈中是否存在一個構造函數的 prototype 屬性。

語法:object instanceof constructor
參數:object 要檢測的對象   constructor   某個構造函數
通過這個運算符我們就可以用來檢測object真正的數據類型
    (new Number(1));       instanceof Number    //true
    (new Array("2,3"));    instanceof Array     //true
    (new String("hello")); instanceof String    //true
但是如果是null的話,好像就沒辦法解決了呢。我們可以提前使用對象的toString方法判斷是否為null

4.更好的做法是借用Object.prototype.toString

Object.prototype.toString.call(1);              // "[object Number]"
Object.prototype.toString.call(new Number(1));  // "[object Number]"
Object.prototype.toString.call("hello");        // "[object String]"

Object.prototype.toString.call(function(){});   // "[object function]"
Object.prototype.toString.call(null);           // "[object Null]"

所以我們可以封裝一個利用Object.prototype.toString來判斷數據類型的函數。

  function classOf(obj) {
      return Object.prototype.toString.call(obj).slice(8, -1);
  };
  classOf(null); //"Null"
   

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83394.html

相關文章

  • 淺析js工廠函數、構造函數

    摘要:首先,說下工廠函數。應對某些場景,工廠函數并不能滿足我們,如我需要判斷樹是不是動物類型你會發現你并沒辦法。這時候構造函數就出現了我的性別是猴子母猴子我的性別是母跟工廠函數很像,只是沒有了創建對象和,并且都用添加屬性。 首先,說下工廠函數。顧名思義,就好比一個工廠一樣,可以批量制造某種類型的東西。其實說白了就是封裝了個方法減少重復工作,相信稍微有點碼齡的人都懂。上代碼: function...

    _DangJin 評論0 收藏0
  • 淺析Vue響應式原理(二)

    摘要:響應式原理之之前簡單介紹了和類的代碼和作用,現在來介紹一下類和。對于數組,響應式的實現稍有不同。不存在時,說明不是響應式數據,直接更新。如果對象是響應式的,確保刪除能觸發更新視圖。 Vue響應式原理之Observer 之前簡單介紹了Dep和Watcher類的代碼和作用,現在來介紹一下Observer類和set/get。在Vue實例后再添加響應式數據時需要借助Vue.set/vm.$se...

    rockswang 評論0 收藏0
  • Vue.nextTick淺析

    摘要:淺析的特點之一就是響應式,但數據更新時,并不會立即更新。盡管已經更新,但新增的元素并不立即插入到中。實際在中,執行了,這也是自動綁定到執行上下文的原因。在內,使用數組保存回調函數,表示當前狀態,使用函數來執行回調隊列。 Vue.nextTick 淺析 Vue 的特點之一就是響應式,但數據更新時,DOM 并不會立即更新。當我們有一個業務場景,需要在 DOM 更新之后再執行一段代碼時,可以...

    MartinDai 評論0 收藏0
  • 淺析Object.prototype.toString()

    摘要:一直很奇怪為什么可以通過判斷各數據的類型,帶著這個疑問,查看了一些資料。與是兩個不同的方法,他們返回的值是不一樣的。需要調用原型對象上的去判斷類型 一直很奇怪為什么可以通過Object.prototype.toString()判斷各數據的類型,帶著這個疑問,查看了一些資料。 1.Object.prototype.toString()判斷原理 那么當我們調用這個方法時,具體會做那些操作呢...

    honhon 評論0 收藏0
  • 淺析前端上傳

    摘要:項目上也用到很多上傳文件的地方,七牛云,阿里云,訊飛上傳都接觸過,所以在這里做一個記錄,總結一下前端上傳的幾種方式。類型的文件名七牛云上傳淺析是一個基于七牛開發的前端。 showImg(https://segmentfault.com/img/bVbvibu?w=1920&h=1080); 圖片,音頻,視頻等等這幾種常見的資源類型,如果需要從前端上傳到服務端,有幾種方式呢?不妨回顧一下...

    terro 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<