对象和数组

187 阅读1分钟

数组:

<script>
        var arr=[4];
        var a1=new Array(3);
        var a2=new Array(1,2,3);
        var a3=new Array;
        
           console.log(arr);
           console.log(a1);
           console.log(a2);
           console.log(a3);
       
       
       
</script>

arr代表长度为1,数组下标为0的值为4。

a1代表长度为3,但未赋值的数组。

a2代表长度为3,值分别为1,2,3。

a3代表定义了一个数组,但未赋值。

数组下标从0开始。

.length可以获取数组的长度。

类数组:只有length这个属性,没有数组的其他方法,如

对象: 建立对象

  1. var object={ key:"value", key:"value", ..... //属性用逗号连接 }
  2. var obj1=new object()

调用方法: person.code()要加括号。 获取属性两种方法:

1.person["name"]

2.person.name

for in循环:用于循环对象

for(ds in person)

{ ds对象的key

person[ds] (这里ds不可以加引号)

}

ds为每一项key,ds为变量,不是常量。如果想获取value,应该 console.log(person[ds]),而不是console.log(person.ds)

数组和对象为引用数据类型,不可以用typeof来判断。可以用两种常见的方法判断

1.console.log(想判断的数组名/对象名.constructor)

2.console.log(想判断的数组名/对象名 instanceof Array)

如果是数组,则输出结果为true,如果是对象,输出结果为false。该判断方式是判断某个arr是否为Array的实例化对象。



<script>
        var arr=[4];
        var a1=new Array(3);
        var a2=new Array(1,2,3);
        var a3=new Array;

        var obj1=new Object()
        var person={
            name:"xiaoming"
        }
        console.log(obj1.constructor)
        
           console.log(arr);
           console.log(a1);
           console.log(a2);
           console.log(a3);
         
           console.log(a2.constructor)
       
</script>


<script>
        var arr=[4];
        var a1=new Array(3);
        var a2=new Array(1,2,3);
        var a3=new Array;

        var obj1=new Object()
        var person={
            name:"xiaoming"
        }
        console.log(obj1 instanceof Array)
        
           console.log(arr);
           console.log(a1);
           console.log(a2);
           console.log(a3);
         
           console.log(a2 instanceof Array)