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

首頁(yè) > 開(kāi)發(fā) > JS > 正文

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

2024-05-06 16:40:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

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

typeof運(yùn)算符

typeof會(huì)返回這個(gè)類(lèi)型的字符串

 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ù)組 對(duì)象 null 用typeof返回都是object 這種方法不能識(shí)別出是否為數(shù)組

原型contructor鏈方法

實(shí)例化有一個(gè)contructor屬性 這個(gè)屬性指向生成對(duì)象 數(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í)例化的 對(duì)象由Object函數(shù)實(shí)例化來(lái)得

感覺(jué)這種方法是可以了 但是 constructor這個(gè)屬性是可以被改寫(xiě)的

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

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

instanceof

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

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

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

通用的方法 toString

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

  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]

可以看到只有對(duì)象返回對(duì)象類(lèi)型

返回[object type] type代表對(duì)象的類(lèi)型

判斷對(duì)象用Object的toString的方法拿過(guò)來(lái)用

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

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

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

Array.isArray(XX)

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

總結(jié)

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 靖远县| 西城区| 鄂托克旗| 黑山县| 平罗县| 蓝田县| 财经| 江津市| 岑溪市| 同仁县| 黑龙江省| 加查县| 三亚市| 永善县| 瑞昌市| 娄底市| 湄潭县| 五家渠市| 新密市| 松溪县| 蒙城县| 鞍山市| 昌平区| 徐闻县| 阜阳市| 洱源县| 天津市| 逊克县| 武宣县| 宜州市| 马山县| 宕昌县| 二连浩特市| 黎川县| 鄢陵县| 浦江县| 庆城县| 漳浦县| 青川县| 皮山县| 威宁|