国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中使用Object.prototype.toString判斷是否為數組

2024-05-06 16:18:01
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript中使用Object.prototype.toString判斷是否是數組,本文講解了Object.prototype.toString相關知識,并給出了判斷數組的實現代碼,使用本文方法同樣可以判斷javascrpty的其它數據類型,需要的朋友可以參考下
 

為什么要用Object.prototype.toString而不是Function.prototype.toString或者其它?這是和他們的toString解釋方式有關系的。下面是ECMA中對Object.prototype.toString的解釋:

復制代碼代碼如下:

Object.prototype.toString( )

 

When the toString method is called, the following steps are taken:
1. Get the [[Class]] property of this object.
2. Compute a string value by concatenating the three strings “[object “, Result (1), and “]”.
3. Return Result (2)


其過程簡單說來就是:1、獲取對象的類名(對象類型)。2、然后將[object、獲取的類名、]組合并返回。
ECMA中對Array有如下說明:
復制代碼代碼如下:

The [[Class]] property of the newly constructed object is set to “Array”.

因此我們用如下代碼來檢測數組:
復制代碼代碼如下:

function isArray(o) {   return Object.prototype.toString.call(o) === '[object Array]';  }  

這種方式既解決了instanceof存在的跨頁面問題,也解決了屬性檢測方式所存在的問題,實在是一種妙招,一個很好的解決方案。
除此之外,這種解決辦法也可以應用于判斷Date,Function等類型的對象。
 
另外還有幾個方法:
復制代碼代碼如下:

var arr = []; return arr instanceof Array;  

如果有其他好的方法不妨貼出來。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 广平县| 佛教| 青阳县| 城步| 蕉岭县| 建始县| 铅山县| 边坝县| 呼伦贝尔市| 长汀县| 康马县| 广饶县| 红原县| 修武县| 栖霞市| 武安市| 灵寿县| 镇康县| 青岛市| 宝山区| 恩平市| 蛟河市| 宁乡县| 囊谦县| 抚宁县| 兰坪| 孝义市| 凌海市| 林甸县| 贡嘎县| 平武县| 晴隆县| 遵义市| 靖西县| 甘洛县| 寿宁县| 寿宁县| 瑞昌市| 增城市| 安吉县| 鹰潭市|