中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript中怎么判斷類型

發布時間:2021-02-05 13:36:58 來源:億速云 閱讀:123 作者:小新 欄目:web開發

這篇文章主要介紹了javascript中怎么判斷類型,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

前言

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

String

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

// Returns if a value is a string
function 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 number
function isNumber (value) {
 return typeof value === 'number' && isFinite(value);
}

Array

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

// Returns if a value is an array
function 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 function
function isFunction (value) {
 return typeof value === 'function';
}

Object

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

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

Null & undefined

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

// Returns if a value is null
function isNull (value) {
 return value === null;
}

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

Boolean

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

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

RegExp

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

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

Error

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

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

Date

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

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

Symbol

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“javascript中怎么判斷類型”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上高县| 牡丹江市| 平凉市| 宜黄县| 来宾市| 罗源县| 康乐县| 辽宁省| 陇南市| 贵南县| 东源县| 通城县| 连云港市| 永年县| 衡水市| 革吉县| 延长县| 丹巴县| 永顺县| 郓城县| 岑巩县| 望都县| 会同县| 炉霍县| 泽普县| 龙井市| 固镇县| 临湘市| 内乡县| 巴青县| 丰原市| 曲麻莱县| 赤峰市| 体育| 龙州县| 赣榆县| 兰西县| 苗栗市| 精河县| 小金县| 天等县|