首页 > 其他分享 >js 数组与对象的区别

js 数组与对象的区别

时间:2023-03-25 18:23:24浏览次数:42  
标签:区别 对象 javascript 关联 js 数组 php 数据

js 数组与对象的区别

  学习javascript的时候,我曾经一度搞不清楚”数组”(array)和”对象”(object)的根本区别在哪里,两者都可以用来表示数据的集合。   比如有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后你运行alert(a[1]),两种情况下的运行结果是相同的!这就是说,数据集合既可以用数组表示,也可以用对象表示,那么我到底该用哪一种呢?   我后来才知道,数组表示有序数据的集合,而对象表示无序数据的集合。如果数据的顺序很重要,就用数组,否则就用对象。   当然,数组和对象的另一个区别是,数组的数据没有”名称”(name),对象的数据有”名称”(name)。   但是问题是,很多编程语言中,都有一种叫做”关联数组”(associative array)的东西。这种数组中的数据是有名称的。   比如在javascript中,可以这样定义一个对象:   var a={“城市”:”北京”,”面积”:16800,”人口”:1600};   但是,也可以定义成一个关联数组:   a["城市"]=”北京”; a["面积"]=16800; a["人口"]=1600;   这起初也加剧了我对数组和对象的混淆,后来才明白,在Javascript语言中,关联数组就是对象,对象就是关联数组。这一点与php语言完全不同,在php中,关联数组也是数组。   比如运行下面这段javascript:   var a=[1,2,3,4];   a['foo']=’Hello World’;   alert(a.length);   最后的结果是4,也就是说,数组a的元素个数是4个。   但是,运行同样内容的php代码就不一样了: < ? php   $a=array(1,2,3,4);   $a["foo"]=”Hello world”;   echo count($a);   ? >   最后的结果是5,也就是说,数组a的元素个数是5个。

 

 

 

 

文章来源:http://blog.sina.com.cn/s/blog_771875550102v1hf.html

标签:区别,对象,javascript,关联,js,数组,php,数据
From: https://www.cnblogs.com/tomcat2022/p/17255300.html

相关文章

  • 由“交卷”功能引发的思考——对比两个字符串数组的差异
    最近在做一个答题系统,在交卷的时候需要判断客观题的答题情况客观题的题型有单选题、多选题、判断题其中判断题可以当做单选题处理,而单选题也可以当做标准答案长度为一的......
  • learn to js
    Certainly!HerearesomebookandvideorecommendationstohelpyoulearnJavaScript:"JavaScript:TheGoodParts"byDouglasCrockford-Thisbookisaclassi......
  • JS模块化写法(转)
    JS模块化写法(转)   一、原始写法模块就是实现特定功能的一组方法。只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。functionm1(){......
  • PHP二维数组排序|PHP二维数组去重
    二维数组排序functionarray_sort($arr,$keys,$order=0){ if(!is_array($arr)){ returnfalse; } $keysvalue=array(); foreach($arras$key=>$val){......
  • [FastAPI-24]jsonable_encoder 序列化
    importtypingimportjsonfromfastapiimportFastAPI,Responsefromfastapi.encodersimportjsonable_encoderfromdatetimeimportdatetimefrompydanticimpor......
  • hdu-4630(树状数组)
    题目:Lifeisagame,andyouloseit,soyousuicide.Butyoucannotkillyourselfbeforeyousolvethisproblem:Givenyouasequenceofnumbera1,a2,...,an.T......
  • JSTL——JSP标准标签库
          ......
  • localdatetime system,currentMills区别
    System.currentTimeMillis()和LocalDateTime.now()都可以用来获取当前时间,但是它们的返回值类型和精度不同。System.currentTimeMillis()返回的是当前时间的毫秒数,是......
  • Cesium 与 Babylon.js 可视化 glsl 特效篇(十八)
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/cesium-babylonjs初始化cesium-babylonjs类库,map......
  • c#读取json文件配置内容并转为list
    1、读取json文件内容//调用方法读取json文件内容List<UsBhpItem>bhpItems=UsServiceAdd.Us_BHP_GetConfig();publicclassUsBhpItem{///<su......