zoukankan      html  css  js  c++  java
  • 浏览器中的类数组判断+push实现方法的原理

    一,类数组:

      当你在对象中定义某些属性的时候,浏览器会自动帮你转化为类数组,

      即控制台中devTools猜测对象为类数组;

      当然跟数组还是有区别的,区别就在于你只能使用类数组中定义的方法和属性,而不能使用数组中的原生方法

      类数组在浏览器中的判定条件为:

      1,对象拥有length属性,且为整数;

      2,对象拥有继承自Array.prototype的splice函数

      如下:obj3

      

       结果:

      

    二、push

      上面的结果有一点特殊的地方,就是案例obj,

      第一次打印的时候,是一个正常对象,而第二次打印就变成了类数组,且在添加了一个key值为'0'的属性,故而得出结论

      当调用没有length值的对象中的push时,会自动生成length: 0 属性,且将参数设为key值为'0'的value值;

      而push函数的内部处理方式是什么呢?

      猜测为:

      1,添加下标为length的值,

      2,length属性+1,

      注意:如果length不存在或者不能被转化为一个数值,那么默认length值为0

      

  • 相关阅读:
    用记事本编写C#程序并运行C#代码
    C#传递参数大集合
    JQuery或JavaScript获取网页的宽度、高等
    mybatis
    mysql 函数
    eclipse sts 常规操作
    谷歌浏览器自动翻译当前网页
    推荐Calendar操作日期
    IDEA 快捷键
    eclipse sts 快捷键
  • 原文地址:https://www.cnblogs.com/wangtong111/p/12444870.html
Copyright © 2011-2022 走看看