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

資訊專欄INFORMATION COLUMN

js中判斷類型的方法

wangym / 2762人閱讀

摘要:中關于類型的判斷有很多種方法,這里介紹兩種常用的。操作符返回一個字符串,表示未經計算的操作數的類型。正因為不能準確判斷一個對象變量,所以需要下面一種方法使用上的原生方法判斷數據類型可以將這樣的一長串代碼封裝成檢測類型的方法

javascript中關于類型的判斷有很多種方法, 這里介紹兩種常用的。

typeof

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

 console.log(typeof 12); // number

 console.log(typeof "hello"); // string

 console.log(typeof true); // boolean

在MDN中, typeof的用法記錄的很詳細。

這里有個js的關鍵點, 即typeof null == object。 null 不是一個對象,盡管 typeof null 輸出的是 object,這是一個歷史遺留問題,JS 的最初版本中使用的是 32 位系統,為了性能考慮使用低位存儲變量的類型信息,000 開頭代表是對象, null 表示為全零,所以將它錯誤的判斷為 object 。

正因為typeof不能準確判斷一個對象變量, 所以需要下面一種方法

Object.prototype.toString.call

使用Object.prototype上的原生toString()方法判斷數據類型

 console.log( Object.prototype.toString.call( "hello" )) // [object String]

 console.log( Object.prototype.toString.call( 1 )) // [object Number]

 console.log( Object.prototype.toString.call( [1, 2, 3] )) // [object Array]

 console.log( Object.prototype.toString.call( null )) // [object Null]

可以將這樣的一長串代碼封裝成檢測類型的方法

let isType = type => obj => {
  return Object.prototype.toString.call( obj ) === `[object ${type}]`
}

isType("String")("123");       // true
isType("Array")([1, 2, 3]);    // true
isType("Number")(1);           // true

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

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

相關文章

  • 【underscore.js 源碼解讀】常用類型判斷以及一些有用工具方法

    摘要:最近開始看源碼,并將源碼解讀放在了我的計劃中。今天就跟大家聊一聊中一些常用類型檢查方法,以及一些工具類的判斷方法。用是否含有屬性來判斷工具類判斷方法接下來看下一些常用的工具類判斷方法。 Why underscore 最近開始看 underscore.js 源碼,并將 underscore.js 源碼解讀 放在了我的 2016 計劃中。 閱讀一些著名框架類庫的源碼,就好像和一個個大師對話...

    tanglijun 評論0 收藏0
  • JStypeof和類型判斷

    摘要:摘要這篇文章講述運算符判斷基本類型和引用類型的區別,以及怎么判斷數組類型和空對象有種原始類型,即和。類型判斷類型判斷,一般就是判斷是否是數組,是否是空對象。方法四使用語法,返回一個數組,只需要判斷數組長度是否大于即可。 摘要 這篇文章講述typeof運算符判斷基本類型和引用類型的區別,以及怎么判斷數組類型和空對象 typeof ECMAScript 有 5 種原始類型(primitiv...

    cppowboy 評論0 收藏0
  • 原生JS大揭秘—數據類型

    摘要:中九個內置對象在規范中定義了六種數據類型其中原始值類型有種,引用類型有種一有包裝對象數值型,包括整形和浮點型其中都是類型二有包裝對象字符串類型,有兩種表示方式,雙引號單引號。方法可以將任意類型數據轉成字符串。 JS中九個內置對象 showImg(https://segmentfault.com/img/bV6iZG?w=481&h=411); 在ECMAScript規范(ES5)中定義...

    luck 評論0 收藏0
  • js對數據類型總結及判斷數據類型各種方法及優缺點

    摘要:最常見的判斷方法它的官方解釋操作符返回一個字符串,表示未經計算的操作數的類型。另外,是判斷對象是否屬于某一類型,而不是獲取的對象的類型。多個窗口意味著多個全局環境,不同的全局環境擁有不同的全局對象,從而擁有不同的內置類型構造函數。 js中的數據類型 js中只有六種原始數據類型和一個Object: Boolean Null Undefined Number String Symbol ...

    voyagelab 評論0 收藏0
  • Js基礎知識(一) - 變量

    摘要:內置函數和對象中內置了一些函數和對象,很多語言都會有內置的方法,直接可以調用開發。根據語法標準提供的內置函數包括和。注意基礎語法提供的內置函數和方法只有這些,像那是瀏覽器提供給我們的。強制類型轉換大家應該都知道。 js基礎 - 變量 *大家對js一定不會陌生,入門很簡單(普通入門),很多人通過網絡資源、書籍、課堂等很多途徑學習js,但是有些js基礎的只是往往被大家遺漏,本章就從js變量...

    leone 評論0 收藏0

發表評論

0條評論

wangym

|高級講師

TA的文章

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