javascript数组下标从什么开始

javascript数组下标从0开始,原因:1、从0开始,可以减少一次减法操作,减少CPU指令运算,可以提升CPU的效率;2、物理内存的地址是从0开始的。

javascript数组下标从什么开始

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

javascript数组下标是从0开始的。

那么为什么javascript数组下标是从0开始的,而不是从1开始呢?

原因一:历史原因

立即学习“Java免费学习笔记(深入)”;

语言出现顺序从早到晚C、Java、JavaScript。

C语言数组下标是从0开始->Java也是->JavaScript也是。

降低额外的学习和理解成本。

原因二:减少CPU指令运算

(1)下标从0开始:

数组寻址——arr[i] = base_address + i * type_size(1)

其中base_address为数组arr首地址,arr0就是偏移量为0的数组,即数组arr首地址;i为偏移量,type_size为数组类型字节数,比如int为32位,即4个字节。

(2)下标从1开始:

数组寻址——arr[i] = base_address + (i -1)* type_size(2)

比较两个计算公式可以发现公式(2)每次CPU寻址需要多一次i-1的操作,即多了一次减法的指令运算。

对于数组这种基础数据结构,无论在哪种高级程序语言中,都是频繁间接(作为容器的基础数据结构,比如Java的ArrayList)或者直接被使用的,因此要尽量减少其消耗CPU资源。从0开始,可以减少一次减法操作,提升了CPU的效率。

原因三:物理内存的地址是从0开始的

计算机主存是多个连续字节大小的单元组成的数组,每个字节都对应唯一的物理地址,第一个字节的地址为0。

【推荐学习:javascript高级教程】

以上就是javascript数组下标从什么开始的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2945670.html

(0)
上一篇 2025年3月11日 22:37:09
下一篇 2025年3月10日 15:08:40

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript focus用法是什么

    javascript focus的用法:1、创建一个名称为focus的html文件;2、添加样式;3、添加button和p标签;4、创建一个自定义函数myfocus;5、通过focus方法使a标签聚焦即可。 本文操作环境:Windows7系…

    2025年3月11日 编程技术
    200
  • javascript apply的用法是什么

    javascript apply的作用是编写用于不同对象的方法;apply()方法接受数组形式的参数,其使用语法如“person.fullName.apply(person1);”。 本文操作环境:Windows7系统、javascript…

    2025年3月11日
    200
  • javascript是做什么

    JavaScript是一种轻量级的编程语言,这门语言可用于HTML和web,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果;JavaScript也是Web开发人员技能组的重要组成部分。 本文操作环境:Windows7系统…

    2025年3月11日
    200
  • javascript中filter的用法是什么

    javascript中filter的作用是创建一个新的数组,且新数组中的元素是通过检查指定数组中符合条件的所有元素,其使用语法是“array.filter(function(currentValue,index,arr)…)”。…

    2025年3月11日
    200
  • javascript uber是什么

    javascript uber是早期javascript中用于让某方法调用父类的一种方法,uber方法类似于Java的super。 本文操作环境:windows7系统、javascript1.8.5版,DELL G3电脑。 javascri…

    2025年3月11日
    200
  • nodejs是js么

    nodejs不是js,而是一个让js运行在服务端的平台。js(全称JavaScript)是一种编程语言,而Node是一个基于Chrome V8引擎的JavaScript运行环境,一种让JavaScript运行在服务端的开发平台。 本教程操作…

    2025年3月11日
    200
  • javascript怎么替换div内容

    javascript替换div内容的方法:1、定义一个div节点;2、获取该div节点;3、通过“dt.innerHTML = “abc”;”方式替换div的内容即可。 本文操作环境:windows7系统、javas…

    2025年3月11日
    200
  • javascript random方法怎么用

    javascript random方法用于返回介于0~1之间的一个随机数,其使用语法如“Math.random()”,返回值则是0.0~1.0之间的一个伪随机数。 本文操作环境:windows7系统、javascript1.8.5版,DEL…

    2025年3月11日
    200
  • 前端三大基础是哪三个

    前端三大基础是指:1、超文本标记语言HTML,它是一种构造网页语言;2、层叠样式表CSS,它是一种定义样式的构造语言;3、嵌入式脚本语言Javascript,它是一种解释型脚本语言,用于实现用户与网页之间的一种实时的、动态的交互关系。 本教…

    2025年3月11日
    200
  • 什么是javascript及其特点有哪些

    JavaScript是一种具有函数优先的轻量级、解释型或即时编译型的编程语言,已经被广泛用于Web应用开发,常用来在网页中添加一些动态效果与交互功能;其特点为:1、解释型脚本语言;2、基于对象;3、弱类型;4、动态性;5、跨平台。 本教程操…

    2025年3月11日
    200

发表回复

登录后才能评论