JavaScript

js数组的声明和读写

2019-08-21  本文已影响0人  Aniugel
1、3种声明方法
    var arr1 = [];//数组字面量
    var arr2 = new Array()//不推荐
    var arr3 = Array();//通过系统内置的Array构造函数声明数组 //不使用
    console.log(arr1.__proto__)
    console.log(arr2.__proto__)
    console.log(arr3.__proto__)
    // 所有数组都继承于Array.prototype(数组原型)
2、数组的本质就是对象
// 对象
    var obj1 = {};//对象字面量
    var obj2 = new Object();
    var obj3 = Object();//通过系统内置的Object构造函数声明数组 //不使用
    console.log(obj3.__proto__ === Object.prototype)// true
    // 所有对象都继承于Object.prototype

    // 其实数组就是对象的特殊的类型 其本质就是object=> typeof arr-->object

    var arr = [1, 2, 3, 4, 5]
    //索引index 0  1  2  3  4

    // 下面用对象模拟数组

    var obj = {
        0: 1,
        1: 2,
        2: 3,
        3: 4,
        4: 5
    }
    console.log(arr[0] === 1)//true
    console.log(obj[0] === 1)//true
3、数组的相关类型和属性
var arr1 = [, , ,];//稀松数组 后面逗号会省略  其他的都是密集数组
    var arr2 = [, 1, 2,];//稀松数组 
    var arr3 = [, , 3];//稀松数组 

    var arr4 = Array(1, 2, 3)//构造函数创建数组  里面是不能是稀松数组  不然报错

    var arr5 = Array(3)//用长度创建稀松数组 构造函数方式 数字不能是小数  不然报错Array(3.2)

    var arr6 = Array('a')// ['a']

    console.log(arr1.length)//3
    console.log(arr2.length)//3
    console.log(arr3.length)//3

    console.log(arr1)//[empty × 3]
    console.log(arr1[0])//undefined

    console.log(arr2)//[empty, 1, 2]
    console.log(arr3)//[empty, empty, 3]
    console.log(arr4)//[1, 2, 3]
    console.log(arr5) //[empty × 3]
    console.log(arr6) //['a']
上一篇下一篇

猜你喜欢

热点阅读