国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript中如何判斷類型匯總

2019-11-19 11:34:56
字體:
來源:轉載
供稿:網友

前言

我們在寫封裝的插件或者函數時,常常用到JS的數據類型判斷,典型的案例就是深度拷貝函數用到數據類型判斷,這個知識點在面試的時候也是經常考到的一個問題。本文就來給大家總結了下javascript中判斷類型的相關資料,下面話不多說了,來一起看看詳細的介紹吧

String

一個字符串始終是一個字符串,所以這一塊是很容易。除非使用new(new String)調用,否則typeof將返回“object”。所以也要包含那些可以使用的字符串instanceof。

// Returns if a value is a stringfunction isString (value) { return typeof value === 'string' || value instanceof String;}

Number

From typeof more things than just an ordinary number will return "number" like NaN and Infinity. To know if a value really is a number the function isFinite is also required.

從類型更多的東西,而不僅僅是普通的數字將返回像NaN和無限的“數字”。要知道值是否真的是數字,函數isFinite也是必需的。

// Returns if a value is really a numberfunction isNumber (value) { return typeof value === 'number' && isFinite(value);}

Array

在javascript 數組中不是像java和其他語言中那樣的真正數組。它們實際上是對象,因此typeof將為它們返回“對象”。要知道某些東西是否真的是一個數組,它的構造函數可以與Array進行比較。

// Returns if a value is an arrayfunction isArray (value) { return value && typeof value === 'object' && value.constructor === Array;}// ES5 actually has a method for this (ie9+)Array.isArray(value);

Function

// Returns if a value is a functionfunction isFunction (value) { return typeof value === 'function';}

Object

很多東西都是javascript中的對象。要知道值是否是可以具有屬性并循環的對象,可以將其構造函數與Object進行比較。它不適用于從類創建的對象,因此可以使用instanceof運算符。

// Returns if a value is an objectfunction isObject (value) { return value && typeof value === 'object' && value.constructor === Object;}

Null & undefined

大多數情況下,您不需要顯式檢查null和undefined,因為它們都是假值。然而,要做到這一點,下面的功能就可以了。

// Returns if a value is nullfunction isNull (value) { return value === null;}// Returns if a value is undefinedfunction isUndefined (value) { return typeof value === 'undefined';}

Boolean

對于布爾值, typeof就足夠了,因為它返回true和false的“boolean”。

// Returns if a value is a booleanfunction isBoolean (value) { return typeof value === 'boolean';}

RegExp

RegExp是對象,因此唯一需要檢查的是構造函數是否為RegExp。

// Returns if a value is a regexpfunction isRegExp (value) { return value && typeof value === 'object' && value.constructor === RegExp;}

Error

javascript中的錯誤與許多其他編程語言中的“異常”相同。它們有幾種不同的形式,例如Error,TypeError和RangeError。一個instanceof語句對他們來說已經足夠了,但我們還要確保我們還檢查錯誤所具有的“message”屬性。

// Returns if value is an error objectfunction isError (value) { return value instanceof Error && typeof value.message !== 'undefined';}

Date

日期實際上不是javascript中的數據類型。但要知道是否有某個Date對象,可以使用instanceof進行檢查。

// Returns if value is a date objectfunction isDate (value) { return value instanceof Date;}

Symbol

// Returns if a Symbolfunction isSymbol (value) { return typeof value === 'symbol';}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林西县| 满洲里市| 邳州市| 富宁县| 普安县| 大田县| 图们市| 乡宁县| 安龙县| 永福县| 彭阳县| 武邑县| 栾川县| 南和县| 黄山市| 聊城市| 高邮市| 左权县| 青海省| 盐源县| 文成县| 昌黎县| 景宁| 惠州市| 阳西县| 八宿县| 南和县| 阜新市| 鲁甸县| 仙居县| 邵阳市| 兴宁市| 社旗县| 涟源市| 永定县| 开封市| 靖边县| 福安市| 曲阜市| 巴林左旗| 平顶山市|