摘要:它可以像數(shù)組一樣,但無(wú)法使用數(shù)組的函數(shù),如報(bào)錯(cuò)典型的類似數(shù)組的對(duì)象是函數(shù)的對(duì)象,以及大多數(shù)元素集,還有字符串。僅以字符串為例類數(shù)組的遍歷可以使用循環(huán),也可以使用數(shù)組的
類數(shù)組就是有l(wèi)ength屬性的對(duì)象。它可以像數(shù)組一樣,但無(wú)法使用數(shù)組的函數(shù),如push.
var arr = { 0: "a", 1: "b", 2: "c", length: 3 }; console.log(arr[0]);// a console.log(arr.length);// 3 console.log(arr instanceof Array);// false arr.push("d");// 報(bào)錯(cuò)
典型的類似數(shù)組的對(duì)象是函數(shù)的arguments對(duì)象,以及大多數(shù)DOM元素集,還有字符串。
function args() { return arguments } // 函數(shù)的參數(shù) var arrayLike = args("a", "b"); console.log(arrayLike[0]); // "a" console.log(arrayLike.length); // 2 console.log(arrayLike instanceof Array); // false arrayLike.push("c");// 報(bào)錯(cuò) // DOM元素集 var elts = document.getElementsByTagName("h3"); elts.length // 3 elts instanceof Array // false // 字符串 "abc"[1] // "b" "abc".length // 3 "abc" instanceof Array // false
數(shù)組的slice方法將類似數(shù)組的對(duì)象,變成真正的數(shù)組。僅以字符串為例
var str = "abc"; var arr = Array.prototype.slice.call(str); console.log(arr[0]); // "a" console.log(arr.length); // 3 console.log(arr instanceof Array); // true console.log(arr.push("d"));// 4
類數(shù)組的遍歷可以使用for循環(huán),也可以使用數(shù)組的foreach
for (var i = 0; i < arr.length; i++) { console.log(i + ". " + arr[i]); } Array.prototype.forEach.call(arr, function(elem, i) { console.log(i + ". " + elem); });
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84858.html
摘要:也就是說(shuō),為一些常規(guī)對(duì)象增加一些屬性可以使其變成類數(shù)組對(duì)象。實(shí)際上,類數(shù)組的定義只有一條,具有屬性。在中,所有的數(shù)組方法都是通用的。 什么是類數(shù)組 javascript中一些看起來(lái)像卻不是數(shù)組的對(duì)象,叫做類數(shù)組。也就是說(shuō),為一些常規(guī)對(duì)象增加一些屬性可以使其變成類數(shù)組對(duì)象。 類數(shù)組的特征: 有索引(數(shù)字)屬性和length屬性的對(duì)象 不具有數(shù)組的方法。間接調(diào)用數(shù)組的一些方法,比如pus...
摘要:中常見(jiàn)的類數(shù)組有對(duì)象和方法的返回結(jié)果。類數(shù)組判斷權(quán)威指南上給出了代碼用來(lái)判斷一個(gè)對(duì)象是否屬于類數(shù)組。此處應(yīng)當(dāng)為類數(shù)組表現(xiàn)之所以成為類數(shù)組,就是因?yàn)楹蛿?shù)組類似。偽數(shù)組轉(zhuǎn)化成數(shù)組非偽類對(duì)象,直接返回最好針對(duì)以前的實(shí)現(xiàn)參考的怪癖類數(shù)組對(duì)象 在線的《javascript權(quán)威指南》有對(duì)該概念的解釋。 那么,什么是javascript 類數(shù)組呢? 定義: 擁有l(wèi)ength屬性,length-0可...
摘要:但是,我們可以借用類數(shù)組方法不難看出,此時(shí)的在調(diào)用數(shù)組原型方法時(shí),返回值已經(jīng)轉(zhuǎn)化成數(shù)組了。很多時(shí)候,深入看看源代碼也會(huì)讓你對(duì)這個(gè)理解的更透徹。的前端樂(lè)園原文鏈接深入理解類數(shù)組 起因 寫(xiě)這篇博客的起因,是我在知乎上回答一個(gè)問(wèn)題時(shí),說(shuō)自己在學(xué)前端時(shí)把《JavaScript高級(jí)程序設(shè)計(jì)》看了好幾遍。于是在評(píng)論區(qū)中,出現(xiàn)了如下的對(duì)話:showImg(https://segmentfault.c...
摘要:如果此對(duì)象表示非靜態(tài)上下文中聲明的內(nèi)部類,則形參類型作為第一個(gè)參數(shù)包括顯示封閉的實(shí)例。參數(shù)字段名返回此類中指定字段的對(duì)象拋出如果找不到帶有指定名稱的字段。 一、類的加載 1. 概述 當(dāng)程序要使用某個(gè)類時(shí),如果該類還未被加載到內(nèi)存中,則系統(tǒng)會(huì)通過(guò)加載,連接,初始化三步來(lái)實(shí)現(xiàn)對(duì)這個(gè)類進(jìn)行初始化 2. 加載 就是指將class文件讀入內(nèi)存,并為之創(chuàng)建一個(gè)Class對(duì)象 任何類被使用時(shí)系統(tǒng)都...
摘要:類屬性是基于數(shù)組實(shí)現(xiàn)的,其屬性有其中常量表示數(shù)組的基礎(chǔ)容量。表示數(shù)組表當(dāng)前長(zhǎng)度數(shù)組元素個(gè)數(shù),作索引時(shí),表示數(shù)組的最后一個(gè)元素,而表示新添加的項(xiàng)可以被放置的位置。 PS:如果覺(jué)得文章有什么地方寫(xiě)錯(cuò)了,哪里寫(xiě)得不好,或者有什么建議,歡迎指點(diǎn)。 ArrayList 類提供了 List ADT 的可增長(zhǎng)數(shù)組的實(shí)現(xiàn)。 一、自定義實(shí)現(xiàn)的 ArrayList 類 MyArrayList 源碼鏈接:戳...
閱讀 2423·2021-08-18 10:21
閱讀 2531·2019-08-30 13:45
閱讀 2161·2019-08-30 13:16
閱讀 2126·2019-08-30 12:52
閱讀 1372·2019-08-30 11:20
閱讀 2631·2019-08-29 13:47
閱讀 1629·2019-08-29 11:22
閱讀 2769·2019-08-26 12:11