无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

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

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

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

分享到微博請遵守國家法律
阜新市| 同德县| 曲阳县| 大冶市| 万山特区| 南平市| 威信县| 山阳县| 阿巴嘎旗| 团风县| 黎平县| 韩城市| 枣阳市| 清丰县| 安义县| 怀化市| 楚雄市| 宁南县| 盱眙县| 长岭县| 贺兰县| 萨迦县| 鹤山市| 石狮市| 巴马| 濮阳县| 丹阳市| 门源| 玛纳斯县| 忻城县| 高陵县| 湘潭市| 久治县| 曲麻莱县| 手游| 于田县| 长阳| 夏河县| 吉木萨尔县| 眉山市| 庆阳市|