最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

數據類型檢測的方式有哪些?

2023-02-25 15:46 作者:網星軟件  | 我要投稿

(1)typeof

其中數組、對象、null 都會被判斷為 object,其他判斷都正確。

(2)instanceof

instanceof可以正確判斷對象的類型,其內部運行機制是判斷在其原型鏈中能否找到該類型的原型。

可以看到,instanceof只能正確判斷引用數據類型,而不能判斷基本數據類型。instanceof 運算符可以用來測試一個對象在其原型鏈中是否存在一個構造函數的 prototype 屬性。

(3) constructor

constructor有兩個作用,一是判斷數據的類型,二是對象實例通過 constrcutor 對象訪問它的構造函數。需要注意,如果創(chuàng)建一個對象來改變它的原型,constructor就不能用來判斷數據類型了:

(4)Object.prototype.toString.call()

Object.prototype.toString.call() 使用 Object 對象的原型方法 toString 來判斷數據類型:

同樣是檢測對象 obj 調用 toString 方法,obj.toString()的結果和Object.prototype.toString.call(obj)的結果不一樣,這是為什么?

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

數據類型檢測的方式有哪些?的評論 (共 條)

分享到微博請遵守國家法律
丹东市| 彩票| 大宁县| 兰州市| 界首市| 萍乡市| 信丰县| 仙居县| 太湖县| 抚顺市| 外汇| 花莲市| 大化| 上思县| 平阴县| 汤原县| 和平区| 美姑县| 云龙县| 奇台县| 恩施市| 宁河县| 万山特区| 大关县| 喜德县| 普定县| 美姑县| 元朗区| 襄城县| 苏尼特右旗| 文登市| 焦作市| 九龙县| 南皮县| 岗巴县| 西充县| 甘德县| 通州市| 陆川县| 五峰| 河北区|