亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

js類型檢測

roadtogeek / 2141人閱讀

摘要:在中我們通常使用來檢測變量的類型但是在一些復(fù)雜情況下就顯得力不從心了下面我們來說說和使用這三個進(jìn)行類型的檢測檢測中的基本類型還是可以的對于和就比較特殊了對于函數(shù)數(shù)組對于下面的檢測就比較混亂了該函數(shù)用來查看對象的構(gòu)造函數(shù)這里需要注意的是對于和

在javascript中我們通常使用typeof()來檢測變量的類型,但是在一些復(fù)雜情況下typeof()就顯得力不從心了,下面我們來說說typeof,constructortoString,使用這三個進(jìn)行類型的檢測.

typeof

typeof檢測js中的基本類型還是可以的.

var num = 1;
typeof(num) // number
var str = "hello";
typeof(str); // string
var bool = true;
typeof(bool); // boolean

對于undefinednull就比較特殊了,

typeof(undefined); // undefined
typeof(null); // object

對于函數(shù)、數(shù)組

function  a(){};
typeof(a); // function
var arr = [];
typeof(arr); // object

對于下面的檢測就比較混亂了:

typeof new Boolean(true) === "object";
typeof new Number(1) ==== "object";
typeof new String("abc") === "object";
typeof new Date() === "object";
constructor

該函數(shù)用來查看對象的構(gòu)造函數(shù)

var bool = true;
console.log(bool.constructor == Boolean);// true
var num = 1; 
console.log(num.constructor == Number); // true
var str = "hello";
console.log(str.constructor == String); // true

這里需要注意的是:
對于 undefinednull ,不能夠使用 construcor檢測.

toString

使用toString檢測,必須使用Object.prototype.toString(),
先來看看這個東東輸出什么鬼:

console.log(Object.prototype.toString()); // [object Object]

那么如何使用toString()來進(jìn)行檢測呢?這里使用 call()來改變this的指向,

var bool = true;
console.log(Object.prototype.toString.call(bool)); // [object Boolean]
var num = 1;
console.log(Object.prototype.toString.call(num)); // [object Number]
var str = "hello";
console.log(Object.prototype.toString.call(str)); // [object String]
var arr = [];
console.log(Object.prototype.toString.call(arr)); // [object Array]
var a = undefined;
console.log(Object.prototype.toString.call(a)); // [object Undefined]
var b = null;
console.log(Object.prototype.toString.call(b)); // [object Null]

可以看出 使用Object.prototype.toString.call()來檢測 是比較完美的.推薦使用.

補(bǔ)充 instanceof

檢測某個實(shí)例是否在某個對象的原型鏈上 原型鏈__proto__,

var c = [];
console.log(c instanceof Object); //true
var d = 123;  // 這些 普通類型 并不是對象
console.log(d instanceof Object); //false
var str = "hello"; //  不是對象
console.log(str instanceof Object); //false
var num = new Number(123);
console.log(num instanceof Object);

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/78781.html

相關(guān)文章

  • JS類型(三):JS類型檢查

    摘要:正文一基本類型檢測為什么說是基本類型檢測對于這三種類型經(jīng)常用到的基本類型檢測是正確的。為什么說是更好的檢測方法上面的兩種方法要么是只能檢測基本類型,要么是只能檢測引用類型,還存在不支持檢測的情況。 前言 前兩篇文章主要是一直在討論JS類型的轉(zhuǎn)換,那么怎么才能檢測JS的數(shù)據(jù)類型呢?檢測數(shù)據(jù)類型在工程中經(jīng)常用到,常見的JS類型檢測有三種方法: 1. typeof 2. instanceof...

    ad6623 評論0 收藏0
  • JS基本類型類型檢測

    摘要:基本類型和類型檢測類型基本類型,,,,,類型檢測在開發(fā)中難免會遇到類型檢測,以下就是常用一些方法可以檢測基本類型蛋蛋君但是使用檢測的時(shí)候會返回。 JS基本類型和類型檢測 類型 基本類型:string,number,null,undefined,boolean,object 類型檢測 在開發(fā)中難免會遇到類型檢測,以下就是常用一些方法 typeof: typeof可以檢測基本類型 typ...

    JowayYoung 評論0 收藏0
  • JS專題之?dāng)?shù)據(jù)類型類型檢測

    摘要:運(yùn)算符可以用來檢測某個構(gòu)造函數(shù)的屬性是否存在于另外一個要檢測對象的原型鏈上。使用方法可以獲取到變量的準(zhǔn)確的數(shù)據(jù)類型就能解決基本包裝類型的檢測錯誤和的檢測不安全。 本文共 1750 字,讀完只需 7 分鐘 數(shù)據(jù)類型有哪些? ECMAScript 的數(shù)據(jù)類型分為簡單數(shù)據(jù)類型(也被稱為基本數(shù)據(jù)類型,原始數(shù)據(jù)類型): Undefined Null String Number Boolean ...

    since1986 評論0 收藏0
  • js檢測數(shù)據(jù)類型的四種方法

    摘要:中檢測數(shù)據(jù)類型的四種方法前言先說一下中的數(shù)據(jù)類型有哪幾類主要分類兩大類型,基本類型和引用類型。用法結(jié)果這樣一看,似乎能滿足的所有數(shù)據(jù)類型,那我們看下繼承之后是否能檢測出來結(jié)果小結(jié)可以看出,可用于檢測所有的數(shù)據(jù)類型。 js中檢測數(shù)據(jù)類型的四種方法 前言 先說一下JavaScript中的數(shù)據(jù)類型有哪幾類?主要分類兩大類型,基本類型和引用類型。 showImg(https://segment...

    darryrzhong 評論0 收藏0
  • <<編寫可維護(hù)的javascript>> 筆記8(避免'空比較&#

    摘要:中常常會看到這種代碼變量與的比較這種用法很有問題用來判斷變量是否被賦予了一個合理的值比如不好的寫法執(zhí)行一些邏輯這段代碼中方法顯然是希望是一個數(shù)組因?yàn)槲覀兛吹降膿碛泻瓦@段代碼的意圖非常明顯如果參數(shù)不是一個數(shù)組則停止接下來的操作這種寫法的問題在 js中, 常常會看到這種代碼: 變量與null的比較(這種用法很有問題), 用來判斷變量是否被賦予了一個合理的值. 比如: const Contr...

    young.li 評論0 收藏0
  • js基礎(chǔ)--數(shù)據(jù)類型檢測的相關(guān)知識

    摘要:話不多說,我們開干,加油干貨滿滿今天,我們一起學(xué)習(xí)一下中的數(shù)據(jù)類型檢測相關(guān)的知識,也順便做個總結(jié)?;緮?shù)據(jù)類型又包括,還有一個新增的,我們這先不說。 歡迎訪問我的個人博客:http://www.xiaolongwu.cn 前言 最近工作有點(diǎn)忙,好幾天都沒更新技術(shù)博客了。 周末起床打開有道云筆記,發(fā)現(xiàn)自己的博客todolist里躺了一堆只有名字的文件。 話不多說,我們開干,加油! 干貨滿...

    MangoGoing 評論0 收藏0

發(fā)表評論

0條評論

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