最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中如何判斷類型匯總

 更新時(shí)間:2019年05月14日 09:55:47   作者:b0  
這篇文章主要給大家介紹了關(guān)于javascript中如何判斷類型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用javascript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

我們?cè)趯懛庋b的插件或者函數(shù)時(shí),常常用到JS的數(shù)據(jù)類型判斷,典型的案例就是深度拷貝函數(shù)用到數(shù)據(jù)類型判斷,這個(gè)知識(shí)點(diǎn)在面試的時(shí)候也是經(jīng)常考到的一個(gè)問(wèn)題。本文就來(lái)給大家總結(jié)了下javascript中判斷類型的相關(guān)資料,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

String

一個(gè)字符串始終是一個(gè)字符串,所以這一塊是很容易。除非使用new(new String)調(diào)用,否則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.

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

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

Array

在javascript 數(shù)組中不是像java和其他語(yǔ)言中那樣的真正數(shù)組。它們實(shí)際上是對(duì)象,因此typeof將為它們返回“對(duì)象”。要知道某些東西是否真的是一個(gè)數(shù)組,它的構(gòu)造函數(shù)可以與Array進(jìn)行比較。

// 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中的對(duì)象。要知道值是否是可以具有屬性并循環(huán)的對(duì)象,可以將其構(gòu)造函數(shù)與Object進(jìn)行比較。它不適用于從類創(chuàng)建的對(duì)象,因此可以使用instanceof運(yùn)算符。

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

Null & undefined

大多數(shù)情況下,您不需要顯式檢查null和undefined,因?yàn)樗鼈兌际羌僦怠H欢?,要做到這一點(diǎn),下面的功能就可以了。

// 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

對(duì)于布爾值, typeof就足夠了,因?yàn)樗祷豻rue和false的“boolean”。

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

RegExp

RegExp是對(duì)象,因此唯一需要檢查的是構(gòu)造函數(shù)是否為RegExp。

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

Error

javascript中的錯(cuò)誤與許多其他編程語(yǔ)言中的“異?!毕嗤K鼈冇袔追N不同的形式,例如Error,TypeError和RangeError。一個(gè)instanceof語(yǔ)句對(duì)他們來(lái)說(shuō)已經(jīng)足夠了,但我們還要確保我們還檢查錯(cuò)誤所具有的“message”屬性。

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

Date

日期實(shí)際上不是javascript中的數(shù)據(jù)類型。但要知道是否有某個(gè)Date對(duì)象,可以使用instanceof進(jìn)行檢查。

// 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';
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • setInterval 不準(zhǔn)的原因及問(wèn)題解決方案

    setInterval 不準(zhǔn)的原因及問(wèn)題解決方案

    setInterval 是 JavaScript 中用于定時(shí)執(zhí)行任務(wù)的常用方法,本文主要介紹了setInterval 不準(zhǔn)的原因及問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • JavaScript實(shí)現(xiàn)函數(shù)重載的代碼示例

    JavaScript實(shí)現(xiàn)函數(shù)重載的代碼示例

    在JavaScript中并沒(méi)有直接支持函數(shù)重載的機(jī)制,但是可以通過(guò)一些技巧來(lái)模擬函數(shù)重載的效果,比如使用參數(shù)判斷,使用默認(rèn)參數(shù),對(duì)象參數(shù),這些方法都可以實(shí)現(xiàn)類似函數(shù)重載的效果,所以本文就給大家介紹一下JavaScript如何實(shí)現(xiàn)函數(shù)重載,需要的朋友可以參考下
    2023-08-08
  • JS新標(biāo)簽頁(yè)打開的方法大全(讓你的網(wǎng)站訪問(wèn)更加便捷)

    JS新標(biāo)簽頁(yè)打開的方法大全(讓你的網(wǎng)站訪問(wèn)更加便捷)

    在開發(fā)Web應(yīng)用中我們常常需要在當(dāng)前頁(yè)面打開一個(gè)鏈接,但又不希望離開當(dāng)前頁(yè)面,這篇文章主要給大家介紹了關(guān)于JS新標(biāo)簽頁(yè)打開的方法大全,通過(guò)這些方法可以讓你的網(wǎng)站訪問(wèn)更加便捷,需要的朋友可以參考下
    2023-10-10
  • jquery SweetAlert插件實(shí)現(xiàn)響應(yīng)式提示框

    jquery SweetAlert插件實(shí)現(xiàn)響應(yīng)式提示框

    為了滿足用戶體驗(yàn)度,使用SweetAlert插件實(shí)現(xiàn)響應(yīng)式提示框效果非常好,下面通過(guò)這篇文章給大家介紹jquery SweetAlert插件實(shí)現(xiàn)響應(yīng)式提示框,需要的朋友可以參考下
    2015-08-08
  • Javascript的this用法

    Javascript的this用法

    本文主要介紹了Javascript的this用法,具有很好的參考價(jià)值,有需要了解的朋友可以看看
    2017-01-01
  • JavaScript中Promise的使用詳解

    JavaScript中Promise的使用詳解

    Promise,相信每一個(gè)前端工程師都或多或少地在項(xiàng)目中都是用過(guò),畢竟它早已不是一個(gè)新名詞。ES6中已經(jīng)原生對(duì)它加以支持,在caniuse中搜索一下 Promise ,發(fā)現(xiàn)新版的chrome和firefox也已經(jīng)支持。但是低版本的瀏覽器我們可以使用 es6-promise 這個(gè) polyfill 庫(kù)來(lái)加以兼容。
    2017-02-02
  • ES10 特性的完整指南小結(jié)

    ES10 特性的完整指南小結(jié)

    這篇文章主要介紹了ES10 特性的完整指南小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Z-Blog中用到的js代碼

    Z-Blog中用到的js代碼

    Z-Blog中用到的js代碼...
    2007-03-03
  • 小程序怎樣讓wx.navigateBack更好用的方法實(shí)現(xiàn)

    小程序怎樣讓wx.navigateBack更好用的方法實(shí)現(xiàn)

    這篇文章主要介紹了小程序怎樣讓wx.navigateBack更好用的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 動(dòng)態(tài)加載iframe時(shí)get請(qǐng)求傳遞中文參數(shù)亂碼解決方法

    動(dòng)態(tài)加載iframe時(shí)get請(qǐng)求傳遞中文參數(shù)亂碼解決方法

    這篇文章主要介紹了動(dòng)態(tài)加載iframe時(shí)get請(qǐng)求傳遞中文參數(shù)亂碼解決方法,需要的朋友可以參考下
    2014-05-05

最新評(píng)論

张北县| 平安县| 万山特区| 桃江县| 阳高县| 磐石市| 桦甸市| 凤冈县| 永昌县| 淮安市| 和龙市| 大邑县| 娄烦县| 彰化市| 洱源县| 马龙县| 竹北市| 敦煌市| 油尖旺区| 安吉县| 两当县| 东莞市| 海安县| 天峻县| 观塘区| 墨脱县| 甘南县| 同心县| 东宁县| 平南县| 青河县| 达孜县| 历史| 紫阳县| 内江市| 承德市| 金乡县| 东阳市| 当阳市| 同仁县| 石棉县|