最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS判斷數(shù)組那點(diǎn)事

 更新時間:2017年10月10日 14:29:44   投稿:mrr  
在面試過程中經(jīng)常被面試官問到這樣的題目:如何判斷數(shù)組?下面小編就針對這個問題給大家收集整理了份資料,感興趣的朋友一起看看吧

面試題中有個這樣題目 如何判斷數(shù)組 大家都知道哪些方法

其實(shí)有時候 明明知道哪些方法 但在關(guān)鍵時候就是說不上來

typeof運(yùn)算符

typeof會返回這個類型的字符串

 var a = '123'
 console.log(typeof(a)) //string
 var b = []
 console.log(typeof(b)) //object
 var c = {}
 console.log(typeof(c)) //object
 var d = null
 console.log(typeof(d)) //object

上述看到 數(shù)組 對象 null 用typeof返回都是object 這種方法不能識別出是否為數(shù)組

原型contructor鏈方法

實(shí)例化有一個contructor屬性 這個屬性指向生成對象 數(shù)組的方法

 var a = []
 console.log(a.__proto__.constructor) //ƒ Array() { [native code] }
 var b = {}
 console.log(b.__proto__.constructor) //ƒ Object() { [native code] }

上述看到 數(shù)組是由Array函數(shù)實(shí)例化的 對象由Object函數(shù)實(shí)例化來得

感覺這種方法是可以了 但是 constructor這個屬性是可以被改寫的

  var a = []
  a.__proto__.constructor = Object
  console.log(a.__proto__.constructor) //ƒ Object() { [native code] }

可以看到 這個是 變成了數(shù)組判斷成了對象 所以這個方法也不是最好的

instanceof

這個方法是判斷某個構(gòu)造函數(shù)的prototype屬性所指向的對象是否在另外一個要檢測對象的原型鏈上

  var a = []
  console.log(a instanceof Array) //a對象的原型鏈上能找到Array true
  console.log(a instanceof Object) //true 原型鏈上也能找到對象

上述這種也不是特別好 判斷不出是數(shù)組還是對象

通用的方法 toString

toString() 方法返回放映這個對象的字符串

  var a= '123'
  console.log(a.toString()) //123
  var b = [1,2,3]
  console.log(b.toSting()) //1,2,3
  var c = {}
  console.log(c.toString)) //[object Object]

可以看到只有對象返回對象類型

返回[object type] type代表對象的類型

判斷對象用Object的toString的方法拿過來用

 var a =[]
 Object.prototype.toString.call(a) //[object Array]

這個對象 toString方法是可以判斷出是否為數(shù)組

但是這里注意下有個情況就是對象原型上toString() 也是可以更改的

Array.isArray(XX)

個人感覺還是使用通用方法 toString() 方法靠譜

總結(jié)

以上所述是小編給大家介紹的JS判斷數(shù)組那點(diǎn)事,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

阳城县| 平凉市| 松原市| 长丰县| 金山区| 卫辉市| 龙里县| 基隆市| 杂多县| 二连浩特市| 禹城市| 泰顺县| 翼城县| 宁阳县| 清镇市| 深州市| 祥云县| 股票| 清苑县| 荥经县| 衡南县| 扬中市| 日照市| 攀枝花市| 鄂托克前旗| 洛浦县| 获嘉县| 遂溪县| 伊金霍洛旗| 宁津县| 永福县| 天津市| 濉溪县| 朔州市| 井陉县| 都匀市| 钟山县| 宣汉县| 凤凰县| 汨罗市| 双江|