真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript怎樣判斷數(shù)組類型-創(chuàng)新互聯(lián)

這篇文章主要介紹了JavaScript怎樣判斷數(shù)組類型,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

為渝中等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及渝中網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、渝中網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

判斷方法

一、Array.isArray

ES5新增的數(shù)組方法,Array.isArray應(yīng)該是我們最先想到的判定方式,現(xiàn)在應(yīng)用的也比較廣泛。

const arr = [1,2,3,4]
Array.isArray(arr)  // true

如果是在支持ES5的瀏覽器中,用這樣的方式自然沒什么問題,但是如果是在IE9以下版本,這個方法并未受到支持,這時候我們就要用別的方式來判斷數(shù)組。

二、instanceof

一般來說,instanceof關(guān)鍵字,是用來判斷某個元素是否某對象構(gòu)造函數(shù)實例。在數(shù)組判斷上,instanceof關(guān)鍵字也可以進行數(shù)組的判定。

const arr = [1, 2, 3, 4]
arr instanceof Array  // true

instanceof支持的瀏覽器版本比較多,所以一般來說,用instanceof判斷,會比Array.isArray判定的范圍要廣泛。

三、toString

對象的toString方式也可以判定數(shù)組類型,一般來說這種方式的判定是各大庫的一種Array.isArray的代替實現(xiàn)。

例如,polyfill中,就是如此實現(xiàn):

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

const arr = [1, 2, 3, 4]
Object.prototype.toString.call(arr) === '[Object Array]'  // true

四、constructor

除了以上的方式之外,我們還可以通過構(gòu)造函數(shù)來判定:

const arr = [1, 2, 3, 4]
arr.constructor === Array // true
arr.__proto__.constructor === Array //true

弊端

instanceof和constructor的判定也存在一些弊端,他們判定的數(shù)組必須定義在同一個頁面,否則將會判定為false。

如果在iframe中的數(shù)組判定,就會出錯。

var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length-1].Array;
var arr = new xArray(1,2,3); // [1,2,3]

// Correctly checking for Array
Array.isArray(arr); // true
// Considered harmful, because doesn't work through iframes
arr instanceof Array; // false
arr.constructor === Array; // false

由上述幾個方法判定,可以得出,其實polyfill的判定是最合理的,也最具有兼容性的一種判定。

利用toString判定,勝出。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“JavaScript怎樣判斷數(shù)組類型”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習!


標題名稱:JavaScript怎樣判斷數(shù)組類型-創(chuàng)新互聯(lián)
文章源于:http://weahome.cn/article/copcoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部