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