zoukankan      html  css  js  c++  java
  • 你所不知道的javascript数组特性

    工作中,我们经常使用js的数组,但是,下面的东西你见过吗?

    1,文本下标:

    1 var  a=[];
    2 a[-1]=1;  

    你想过数组的下标为负数的情况吗?我们对数组的下标规定从0开始。但是上面那么写也还是可以的。不过,请看:

    1 console.log(a.length); //0
    2 console.log(a[-1]); // 1
    3 console.log(a["-1"]);//1
    4 a.hasOwnProperty(-1); //true

    这个说明此处还是以对象的属性存储的。

    2,二维数组:

    1 var a = [];
    2 a[0,0]=1;
    3 a[0,1]=2;
    4 a[1,0]=3;
    5 a[1,1]=4;
    6 
    7 console.log(a.length); //2
    8 console.log(a[0]); //3
    9 console.log(a[1]); //4

    js本身是不支持二维数组的,所以上面的length长度为2,它的内部实现是将二维数组小标当成逗号表达式,所以只有最有一个值有效。

    如果你非要实现二维数组,那么也是可以的:

    1 var  a = [1];
    2 var  b=[];
    3 b[0]=a;
    4 console.log(b[0][0]); //1

    3,对象下标:

    当数组的下标为对象时,js会试图将它转化为数值,如果不行,则把它转化为字符串。

    1 var   a = [];
    2 var b ={c:1};
    3 a[b]=2;
    4 console.log(a[b]);//2

    开心一刻:

  • 相关阅读:
    Difference between sendRedirect, include, forward
    Selenium Study Notes
    Java基础知识2
    JSP上的JavaBeans
    Java Socket 7部曲
    Javascript版本排序1
    Java基础知识1
    JavaBean的属性
    测试基础
    annotation本质
  • 原文地址:https://www.cnblogs.com/wenber/p/3643664.html
Copyright © 2011-2022 走看看