97免费在线观看视频 I 午夜夫妻视频 I 久久久久久网站 I 天堂网男人 I 欧美大波大乳人奶 I 丝袜 中出 制服 人妻 美腿 I 窝窝午夜理论片影院 I 日韩在线伦理电影 I 韩国特级毛片 I 亚洲欧美另类激情 I 在线成人日韩 I 麻豆视频免费看 I 黄色生活毛片 I 极品一线天小嫩嫩真紧 I 色久天堂 I 久久久久久黄色片 I 林智妍三级露全乳电影视频 I 大肉大捧一进一出好爽视频 I 空乘伦理hd I 少妇口述与子做过爱 I 成人免费影片 I 国产精品国内免费一区二区三区 I 日韩制服一区 I 青青草福利在线 I 日本在线观看不卡视频 I 婷婷六月综合亚洲 I 国产又粗又黄又硬 I 美女扒开屁股让男子桶爽 I 欧美性午夜视频观看 I 欧美狠狠插 I 亚洲福利在线观看视频 I 无码抽搐高潮喷水流白浆 I 亚洲欧美国产日韩色伦 I 你懂的视频网站在线观看 I www.蜜桃视频在线观看 I 日本无码人妻精品一区二区蜜桃 I 久久中文字幕人妻丝袜 I 碰草在线视频 I 日韩精品成人av网站

JavaScript數據類型

2020/10/27 10:12:57   閱讀:2575    發布者:2575

1.1基本()類型

  • Number: 任意數值
  • String: 任意文本
  • Boolean: true/false
  • undefined: undefined
  • null: null
  • symbol(ECMAScript 6 新定義)
  • BigInt(ECMAScript 2020 新增)

1.2對象(引用)類型

  • Object: 任意對象
  • Array: 特別的對象類型(下標/內部數據有序)
  • Function: 特別的對象類型(可執行)

二、數據類型判斷

通常我們會使用四種方法來判斷JavaScript的類型,分別是:typeofinstanceofconstructortoString(),接下來我們分別來看這幾種方法使用以及區別

2.1通過typeOf 判斷

typeof是一個操作符,其右側跟一個一元表達式,并返回這個表達式的數據類型。返回的結果用該類型的字符串(全小寫字母)形式表示,包含這8種: numberbigIntbooleansymbolstringobjectundefinedfunction

引用類型,除了function返回function類型外,其他均返回object,其中,null 有屬于自己的數據類型 Null , 引用類型中的 數組、日期、正則 也都有屬于自己的具體類型,而 typeof 對于這些類型的處理,只返回了處于其原型鏈最頂端的 Object 類型


作者:撒點料兒
鏈接:https://juejin.im/post/6865211899303165959
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

2.2通過instanceof 判斷

instanceof用來判斷A是否為B的實例,表達式為:A instanceof B,如果AB的實例,則返回true,否則返回falseinstanceof檢測的是原型,內部機制是通過判斷對象的原型鏈中是否有類型的原型。

另外一種情況下,obj instanceof A 原表達式的值也會改變,就是改變對象 obj 的原型鏈的情況,雖然在目前的ES規范中,我們只能讀取對象的原型而不能改變它,但借助于非標準的 proto 偽屬性,是可以實現的。比如執行 obj.proto = {} 之后,obj instanceof A就會返回 false ,但它不能檢測 null undefined

由上圖可以看出[]的原型指向Array.prototype,間接指向Object.prototype, 因此 [] instanceof Array 返回true [] instanceof Object 也返回true

instanceof 只能用來判斷兩個對象是否屬于實例關系, 而不能判斷一個對象實例具體屬于哪種類型。

2.3 通過constructor 判斷

constructor是原型prototype的一個屬性,當函數被定義時候,js引擎會為函數添加原型prototype,并且這個prototypeconstructor屬性指向函數引用, 因此重寫prototype會丟失原來的constructor。 從原型鏈角度講,構造函數就是新對象的類型。這樣做的意義是,讓對象誕生以后,就具有可追溯的數據類型

2.4 通過 toString() 判斷

toString()Object的原型方法,調用該方法,默認返回當前對象的[[Class]]。這是一個內部屬性,其格式為[object Xxx],其中Xxx就是對象的類型。

對于Object對象,直接調用toString()就能返回[object Object],而對于其他對象,則需要通過callapply來調用才能返回正確的類型信息。

這是因為toStringObject的原型方法,而Array Function等類型作為Object的實例,都重寫了toString方法。不同的對象類型調用toString方法時,根據原型鏈的知識,調用的是對應的重寫之后的toString方法(Function類型返回內容為函數體的字符串,Array類型返回元素組成的字符串.....),而不會去調用Object上原型toString方法(返回對象的具體類型),所以采用obj.toString()不能得到其對象類型,只能將obj轉換為字符串類型;因此,在想要得到對象的具體類型時,應該調用Object上原型toString方法。

鏈接:https://juejin.im/post/6865211899303165959

主站蜘蛛池模板: 口述二个男人躁我一个鲁大师 | 成人片国产精品亚洲 | 久久久久国产精品人妻aⅴ武则天 | www.欧美大码 | 福利一区二区 | 国产人妻精品久久久久野外 | 依人综合网 | 国产偷久久 | 96亚洲精品久久久蜜桃 | 无码aⅴ精品一区二区三区浪潮 | 欧美裸体xxxx极品少妇 | 高潮添下面视频免费看 | 全黄性性激高免费视频 | 中国熟妇毛多多裸交视频 | 毛片最新网址 | av天堂久久精品影音先锋 | 18勿入网站免费永久 | 色翁荡熄又大又硬又粗又动态图 | 日本一区二区久久免费黑人精品 | 久久精品这里热有精品 | 脱岳裙子从后面挺进去在线观看 | 日韩欧美成人免费观看 | 天天色宗合 | 久久精品aⅴ无码中文字字幕蜜桃 | 天天色综合图片 | 另类亚洲欧美专区第一页 | 国产亚洲精品美女久久久久 | 碰超免费人妻中文字幕 | 99精品无人区乱码在线观看 | 亚洲人成网站在线无码 | 91精品久久久久久久久久入口 | 精品视频一二三区 | 天天干天天操天天干 | 夜夜草网站 | 中文字幕在线视频一区 | 综合亚洲桃色第一影院 | 色播丁香 | 我要看免费的毛片 | 波多野结衣欲乱 | 亚洲欧洲自拍拍偷精品网 | 50岁退休熟女露脸高潮 | 97丨九色丨国产人妻熟女 | 好爽进去了视频在线观看国版 | 日日碰狠狠躁久久躁婷婷 | 精品女同一区二区 | 色香蕉视频在线观看 | 日日爱666| 在线播放无码后入内射少妇 | 国产91在线视频观看 | 久久不射影院 | 奶头好大狂揉60分钟视频 | 中文字幕亚洲精品一区 | 91精品国产91久久久久游泳池 | 国产精品内射视频免费 | 极品蜜桃臀肥臀-x88av | 亚洲精品乱码久久久久久按摩观 | 亚洲精品视频一区二区 | 日韩一区二区三区无码免费视频 | 99亚洲精品卡2卡三卡4卡2卡 | 日韩av在线看免费观看 | 香港三级午夜理论三级 | 中文在线字幕免费观 | 青春草视频在线观看 | 亚洲国产成人久久综合一区,久久久国产99 | 噜噜噜私人影院 | 国产欧美a| 亚洲国产成人精品福利在线观看 | 国内精品久久久久影院嫩草 | 日韩精品久久无码人妻中文字幕 | 九九99亚洲精品久久久久 | 美乳丰满人妻无码视频 | 日本中文字幕亚洲乱码 | 丰满人妻精品国产99aⅴ | 激情综合小说 | 国产精品 欧美日韩 | 91视频日本 | 久久99国产视频 | 欧美激情另类 | 亚洲精品乱码久久久久久花季 | 看黄a大片爽爽影院免费无码 | 丝袜脚av | 欧美综合乱图图区乱图图区 | 国产乱码日产精品bd | 69堂国产成人免费视频 | 久久国产精品无码网站 | 在线a亚洲v天堂网2019无码 | 同性男男黄g片免费网站 | 国内在线一区 | 国产综合无码一区二区辣椒 | 乌克兰aaaaa裸体 | 日本韩国欧美一区二区三区 | 狠狠躁日日躁夜夜躁老司机 | 夜夜躁日日躁狠狠久久av | 久久精品国产免费观看三人同眠 | 五月天婷婷丁香网 | 亚洲一区波多野结衣在线 | 久久精品一区 | 色婷婷六月亚洲综合香蕉 | 在线天堂视频 |