一、对象

在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. linux apache 配置URL地址栏大小写不敏感配置

    1.apache配置 解决如下:把mod_speling.so放到apache目录下的 lib中... 然后修改http.conf文件, 加入:LoadModule speling_module /u ...

  2. Bash命令积累

    复制本目录下除掉所有的.png文件外的所有其他文件到某个目录下: mv -f !(*.png) ./src/ 除掉所有的.png文件外其余的文件,全部删掉 rm -f !(*.png) 本目录下,不显 ...

  3. 从头开始db-oracle

    rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpmrpm -ivh http: ...

  4. Java基础和JDK5.0新特性

    Java基础 JDK5.0新特性 PS: JDK:Java Development KitsJRE: Java Runtime EvironmentJRE = JVM + ClassLibary JV ...

  5. 安装和配置CentOS时钟同步服务

    Type the following command to install ntp: # yum install -y ntp Turn on service: # chkconfig ntpd on ...

  6. [Spring MVC] - 500/404错误处理

    Spring MVC中404 找不到页面错误可以直接使用web.xml中配置: 在<web-app/>节点内加入: <error-page> <error-code> ...

  7. mvc中多参数URL会很长,首次加载不传参数让url很短,路由规则实现方法[bubuko.com]

    如要实现列表中地址全路径“bubuko-11-2.html”,在首次进入时,使用短路径“bubuko.html”,只有再次href后才显示全路径“bubuko-11-2.html”,下面使用路由规则来 ...

  8. Mybatis原理分析之二:框架整体设计

    1.引言 本文主要讲解Mybatis的整体程序设计,理清楚框架的主要脉络.后面文章我们再详细讲解各个组件. 2.整体设计 2.1 总体流程 (1)加载配置并初始化       触发条件:加载配置文件 ...

  9. TIOBE Index for January 2016(转载)

    Java has won the TIOBE Index programming language award of the year. This is because Java has the la ...

  10. Windows Server 2012 克隆修改SID

    更改SID后蓝屏\黑屏: 环境:Windows Server 2012 R2 目的:克隆出来的系统的SID都是一样,所以想修改各个系统的SID号 现象:克隆出来的系统的SID都是一样,所以想修改各个系 ...