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

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

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

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 方法。

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

分享到微博請遵守國家法律
临夏市| 永平县| 积石山| 馆陶县| 德化县| 昭平县| 桃源县| 万宁市| 商南县| 武邑县| 斗六市| 临邑县| 威海市| 渭源县| 汉川市| 苍溪县| 云浮市| 泰宁县| 杨浦区| 临城县| 庆城县| 颍上县| 锡林郭勒盟| 尉氏县| 定陶县| 瓦房店市| 迭部县| 新田县| 万荣县| 罗城| 合肥市| 五华县| 景东| 岑巩县| 昔阳县| 长春市| 永修县| 齐齐哈尔市| 若尔盖县| 西华县| 颍上县|