一、对象

在javascript中,对象是拥有属性和方法的一种基本数据类型

1、创建object

创建object实例有如下两种方式:

  • 使用new操作符后跟object构造函数创建,如下代码:
var person=new object();
person.name='nicholas';
person.age='29';
  • 使用对象字面量表示法,如下代码:
var person={
      name:'nicholas';   //在对象字面量中,使用逗号分隔不同属性
      age:29                //最后一个属性后面不能加逗号

};

2、访问对象属性

  • 用点表示法
alert(person.name);
  • 方括号表示法
alert(person["name"]);

ps:从功能上来说,这两种访问对象属性的方法没有任何区别,但是方括号的优点在于,它可以通过变量来访问属性。

二、数组

1、创建数组

  • 使用Array构造函数,如下代码:
var colors=new Array();

var colors=new Array(20);  //如果预先知道数组要保存的项目数量,可以给构造函数传递该数量,而该数量会自动变成length属性的值

var colors=new Array("red","blue","green");  //向构造函数传递数组中应该包含的项
  • 数组字面量表示法

数组字面量由一对包含数组项的方括号表示,多个数组之间用逗号隔开,如下代码:

var  colors=["red","blue","green"];  //创建一个包含三个字符串的数组

var  names=[];   //创建一个空数组

2、读取和设置数组的值

在读取和设置数组的值时,要使用方括号并提供相应值的基于0的数字索引,如下所示:

var  colors=["red","blue","green"];  //定义一个字符串数组

alert(colors[0]); //弹出数组的第一项

colors[2]="black";  //修改第三项

colors[3]="yellow";  //新增第四项

ps:数组的length属性并不是只读的,因此,通过设置这个属性,可以从数组的末尾移除或向数组中添加新项。如下所示:

var  colors=["red","blue","green"]; //创建一个包含三个字符串的数组

colors.length=2; //从数组的末尾移除一项

alert(colors[2]);    //undefined

var colors=["red","blue","green"]; colors[colors.length]='black'; //在位置3添加一种颜色

3、数组的插入和删除

push方法

push方法在数组的尾部添加元素:

var colors=new Array();   //创建一个空数组
colors.push("red","green");   //在数组后面添加两个元素

pop方法

pop方法删除数组的最后一个元素:

var colors=new Array("red","blue","green");
 colors.pop();  //删除数组的最后一项元素
var colors=new Array("red","blue","green");
var item=colors.pop();//pop方法也可以返回数组的最后一个元素
alert(item)  //green

splice()

splice()可以删除任意数量的项,只需传入两个参数:要删除的第一项的位置和要删除的项数,例如,splice (0,2), 删除数组中前两项。当然splice(2,2)就是删除下标为2的数组元素。

var colors=new Array("red","blue","green");
colors.splice(1,2);  //从数组的第二个元素开始 删除2个元素
alert(colors)   //red

4、数组的排序

sort()方法

语法:
arrayObject.sort(sortby)  //sortby可选。规定排序顺序。必须是函数。

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

比较函数应该具有两个参数 a 和 b,其返回值如下:

 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

 若 a 等于 b,则返回 0。

 若 a 大于 b,则返回一个大于 0 的值。

<script>
  var arr = [23,12,1,34,116,8,18,37,56,50];
  var arr2 = arr.sort(function(a,b){
     if (a>b) {
      return 1;
    }else if(a<b){
      return -1
    }else{
      return 0;
    }
  })
  console.log(arr2);  //返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116]
</script> 

JavaScript笔记:对象及数组的更多相关文章

  1. javaScript(8)---对象和数组

    javaScript(8)---对象和数组 学习要点: 1.Object类型 2.Array类型 3.对象中的方法 什么是对象,其实就是一种类型,即引用类型.而对象的值就是引用类型的实例.在ECMAS ...

  2. JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串;JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象

    JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象

  3. javaScript遍历对象、数组总结(转载)

    javaScript遍历对象.数组总结  转载来源 https://www.cnblogs.com/chenyablog/p/6477866.html 在日常工作过程中,我们对于javaScript遍 ...

  4. JavaScript 遍历对象、数组总结

    在日常工作过程中,我们对于javaScript遍历对象.数组的操作是十分的频繁的,今天抽空把经常用到的方法小结一下,方便今后参考使用!   javaScript遍历对象总结     1.使用Objec ...

  5. javascript中对象和数组的异同点

    一.JS声明对象或数组 JS对象:{ } JS数组:[ ] 对象 var b={m:'123',n:'abc'};alert(b.m);alert(b.n); 一维数组 var a=[1,2,3];a ...

  6. JavaScript 之 对象/JSON/数组

    对象 简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成. var obj = { p: 'Hello World' }; 上面代码中,大括号就定义了一个对象,它被 ...

  7. JavaScript判断对象和数组

    在调用后端接口时,由于后端接口的不规范统一,接口最外层在没有数据时返回的是空数组(其实更想要的是空json对象,接口返回的data数据应该统一返回json对象,便于扩展),而在有数据时返回的是json ...

  8. javascript笔记整理(数组对象)

    1.属性 a.length--设置或返回数组元素的数目 var a=[1,2,3,45,5]; alert(a.length=6) 结果:6 alert(a[5]) 结果:undefined b.co ...

  9. 你不知道的JavaScript笔记----对象

    对象: 1.定义对象属性 属性描述符(也称为:数据描述符) Object.defineProperty(Object,PropertyName,{ value: 6, writable: true, ...

随机推荐

  1. Codeforces Round #167 (Div. 2)

    C. Dima and Staircase 线段树维护区间最大值. D. Dima and Two Sequences 由于模数不一定为质数,所以通过拆分质因数来做阶乘取模. E. Dima and ...

  2. Python图片处理

    Python图像处理库PIL基本使用 #将图片转换为灰度图像 from PIL import Image pil_im = Image.open('cat.jpg') gray_cat = pil_i ...

  3. 获取应用程序信息.h

    ////  获取应用程序信息.h//  IOS笔记// 一般会用来判断是否有新版本.是否需要强制更新 iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中ta ...

  4. c++句柄设计

    句柄,也称为智能指针. 我计算了一下我的时间,以后每14天得读完一本书,才不愧对我买的这么多书.然而我还要抽出时间来谢谢博文.最近读的是c++沉思录,开篇就用了3章来讲述句柄.好了,废话少说,接下来谈 ...

  5. (zhuan) Deep Reinforcement Learning Papers

    Deep Reinforcement Learning Papers A list of recent papers regarding deep reinforcement learning. Th ...

  6. Ajax - ASP.NET MVC 4 系列

           ASP.NET MVC 框架中包含一组 Ajax 辅助方法,可以用来创建表单和指向控制器操作的链接,它们是异步的,且不用编写任何脚本代码来实现程序的异步性,但需要引入脚本文件 jquer ...

  7. 红外遥控NEC协议使用总结

    最近做了一个调试红外遥控三色灯的实习,花了一个多月的时间研究基于NEC协议的红外遥控,下面是这次实习技术方面的总结. 一.NEC协议特征: 8位地址和8位命令长度 每次传输两遍地址(用户码)和命令(按 ...

  8. 好莱坞电影公司&系列电影

    - 好莱坞6大发行公司: - Warner Bros(WB): <哈利·波特>, 黑客帝国, 蝙蝠侠, - New Line cinema新线(2008): 魔戒, 霍比特人, 尖峰时刻, ...

  9. 黄聪:解决Web部署 svg/woff/woff2字体 404错误

    问题:最近在IIS上部署web项目的时候,发现浏览器总是报找不到woff.woff2字体的错误.导致浏览器加载字体报404错误,白白消耗了100-200毫秒的加载时间. 原因:因为服务器IIS不认SV ...

  10. mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)

    在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot delete or update a parent row: a foreign key constraint f ...