成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript基礎(chǔ)之判斷變量類型

jsdt / 3099人閱讀

摘要:判斷變量類型數(shù)據(jù)類型種操作符可能返回的值如下注意的能力有限,其對(duì)于類型返回的都是使用場(chǎng)景區(qū)分對(duì)象和原始類型要區(qū)分一種對(duì)象類型和另一種對(duì)象類型可以使用運(yùn)算符或?qū)ο髮傩赃\(yùn)算符用法左邊的運(yùn)算數(shù)是一個(gè)右邊運(yùn)算數(shù)是對(duì)象類的名字或者構(gòu)造函數(shù)返回或如果是

判斷變量類型

javaSctipt數(shù)據(jù)類型7種: Number, String, Boolean, Null, Undefined, Object, Symbol

typeof操作符

可能返回的值如下

undefined

boolean

string

number

object

function

注意: typeof 的能力有限,其對(duì)于null, Date、RegExp類型返回的都是"object"

typeof null // "object"
typeof {}; // "object" 
typeof []; // "object" 
typeof new Date(); // "object"

使用場(chǎng)景:區(qū)分對(duì)象和原始類型,要區(qū)分一種對(duì)象類型和另一種對(duì)象類型,可以使用: instanceof運(yùn)算符或?qū)ο骳ontructor屬性

instanceof運(yùn)算符

用法: 左邊的運(yùn)算數(shù)是一個(gè)object,右邊運(yùn)算數(shù)是對(duì)象類的名字或者構(gòu)造函數(shù);返回true或false

[] instanceof Array; // true
[] instanceof Object; // true
[] instanceof RegExp; // false
new Date instanceof Date; // true

如果object是class或者構(gòu)造函數(shù)的實(shí)例,則返回true,如果不是或者是null也返回false
instanceof運(yùn)算符判斷是否為數(shù)組類型

function isArray(arr){ 
  return arr instanceof Array; 
}
contructor屬性

所有的對(duì)象都有一個(gè)constructor屬性,指向該對(duì)象的基本對(duì)啊性構(gòu)造函數(shù)類型的屬性

var a = new Array;
a.constructor === Array // true

var n = new Number(3);
n.constructor === Number; // true

判斷為數(shù)組還可以這樣

function isArray(arr){ 
  return typeof arr === "object" && arr.constructor === Array; 
}
Object.ProtoType.toString()

每個(gè)對(duì)象都有一個(gè)toString()方法,返回"[object type]",其中type是對(duì)象的類型
當(dāng)執(zhí)行該方法時(shí),執(zhí)行以下步驟
1,獲取對(duì)象的class屬性
2,連接字符串 "[object "+結(jié)果1+"]" ;

所以可以通過toString()來(lái)獲取每個(gè)對(duì)象的類型,為了每個(gè)對(duì)象都可以通過Object.protoType.toString()來(lái)檢測(cè),需要以Funciton.prototype.call()或Function.prototype.apply()的形式來(lái)調(diào)用,傳遞要檢查的對(duì)象作為第一個(gè)參數(shù),稱為thisArg

Object.prototype.toString.call(new Date); // "[object Date]"
Object.prototype.toString.call([]); // "[object Array]"
Object.prototype.toString.call(/reg/ig); // "[object RegExp]"
參考

JavaScript中判斷對(duì)象類型的幾種方法總結(jié)

About

github
blog

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90065.html

相關(guān)文章

  • 溫故知新JS基礎(chǔ)

    摘要:訪問屬性是通過操作符完成的,但這要求屬性名必須是一個(gè)有效的變量名小紅的屬性名不是一個(gè)有效的變量,就需要用括起來(lái)。閉包應(yīng)用封裝私有變量箭頭函數(shù)箭頭函數(shù)相當(dāng)于匿名函數(shù),并且簡(jiǎn)化了函數(shù)定義。 數(shù)據(jù)類型 NAN NaN === NaN; // false 唯一能判斷NaN的方法是通過isNaN()函數(shù): isNaN(NaN); // true 浮點(diǎn)數(shù)的相等比較: 1 / 3 === (...

    Dr_Noooo 評(píng)論0 收藏0
  • javascript 基礎(chǔ)類型轉(zhuǎn)換

    摘要:類型轉(zhuǎn)換和表示一個(gè)空對(duì)象。如果有其他類型想轉(zhuǎn)換為或者類型,直接賦值就可以了。都能隱式的把數(shù)據(jù)類型轉(zhuǎn)為類型。。。時(shí)間時(shí)間二數(shù)字類型轉(zhuǎn)換為字符串默認(rèn)是進(jìn)制是一個(gè)對(duì)象類型,所以其他類型轉(zhuǎn)化為通常都是。 前言 javaScript是一門可以自由進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的編程語(yǔ)言,類型轉(zhuǎn)換是javaScript很重要的特色(坑點(diǎn)很多!!!),大家想以后寫出更多嚴(yán)謹(jǐn)?shù)拇a(少出一些莫名其妙的Bug),還是...

    timger 評(píng)論0 收藏0
  • JS基礎(chǔ)常用小技巧和知識(shí)總結(jié)(一)

    摘要:如果有一方是布爾值,則轉(zhuǎn)換為,轉(zhuǎn)換為,再進(jìn)行判斷。等同運(yùn)算符類型不同返回類型相同如果同為數(shù)字字符串則比較值如果同為布爾值,相同則為不同為如果兩個(gè)操作數(shù)同為引用類型,且引用的為同一個(gè)對(duì)象函數(shù),數(shù)組,則相同。 本文主要記錄平時(shí)開發(fā)遇到的知識(shí)點(diǎn)和小技巧 相等判斷(==) 類型相同: 判斷其值是否相同 類型不同: 1. 如果數(shù)字和字符串比較, 則字符串會(huì)被隱式轉(zhuǎn)換為數(shù)字,在做判斷。 2....

    dadong 評(píng)論0 收藏0
  • 談?wù)?em>javascript語(yǔ)法里一些難點(diǎn)問題(一)

    摘要:引子前不久我建立的技術(shù)群里一位問了一個(gè)這樣的問題,她貼出的代碼如下所示執(zhí)行結(jié)果如下所示第一個(gè)第二個(gè)這是一個(gè)令人詫異的結(jié)果,為什么第一個(gè)彈出框顯示的是,而不是呢這種疑惑的原理我描述如下一個(gè)頁(yè)面里直接定義在標(biāo)簽下的變量是全局變量即屬于對(duì)象的變量 1) 引子 前不久我建立的技術(shù)群里一位MM問了一個(gè)這樣的問題,她貼出的代碼如下所示: var a = 1; function hehe...

    huaixiaoz 評(píng)論0 收藏0
  • 【進(jìn)階1-3期】JavaScript深入內(nèi)存空間詳細(xì)圖解

    摘要:進(jìn)階期理解中的執(zhí)行上下文和執(zhí)行棧進(jìn)階期深入之執(zhí)行上下文棧和變量對(duì)象但是今天補(bǔ)充一個(gè)知識(shí)點(diǎn)某些情況下,調(diào)用堆棧中函數(shù)調(diào)用的數(shù)量超出了調(diào)用堆棧的實(shí)際大小,瀏覽器會(huì)拋出一個(gè)錯(cuò)誤終止運(yùn)行。 (關(guān)注福利,關(guān)注本公眾號(hào)回復(fù)[資料]領(lǐng)取優(yōu)質(zhì)前端視頻,包括Vue、React、Node源碼和實(shí)戰(zhàn)、面試指導(dǎo)) 本周正式開始前端進(jìn)階的第一期,本周的主題是調(diào)用堆棧,今天是第3天。 本計(jì)劃一共28期,每期重點(diǎn)攻...

    coordinate35 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<