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

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

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

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

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

分享到微博請遵守國家法律
永州市| 酉阳| 长岛县| 盐津县| 拉萨市| 辽中县| 黄梅县| 莱芜市| 乌拉特中旗| 年辖:市辖区| 宜春市| 龙泉市| 外汇| 丹寨县| 泰州市| 手机| 阿克陶县| 凤冈县| 灵寿县| 乳山市| 隆林| 尉氏县| 舟曲县| 宁都县| 泾源县| 肥东县| 铜山县| 南川市| 枝江市| 定日县| 和林格尔县| 边坝县| 肇东市| 平原县| 万盛区| 长丰县| 健康| 贵州省| 宝坻区| 康平县| 巴青县|