JavaScript学习杂记--对象和数组

一、对象

说起对象,我们不自然就想起了面向对象中自封装的一个类,同样JS中也是遵循这个守则,在web编程中几乎天天用到的就是JSON。是的,这就是一个对象,不过这个对象下面的字段都是字符串和值类型,如下图。

var delivery = {
     no: 1,
     sendtime: "2014-11-25",
     way: "PJS"
};

从上面可以看出delivery中只具有基本的字符串和数值类型,当然给你玩的可不仅仅就这么多,除了基本的类型,我们还可以定义一个数组类型,函数类型字段,就像下面这样。

var delivery = {
        no: 1,
        sendtime: "2014-11-25",

        //三个可用配送地址
        address: ["北京", "上海", "南京"],

        way: "PJS",

        //根据逻辑是否支持配送
        cansend: function () {
            //logic code....
            return true;
        }
    };

   现在对象是创建出来了,下一步就是怎么用呢?通常有两种方法:

<1>  "." 运算符

   这种方法,我想是人都应该知道,所以没什么好说的,比如:delivery.way。

<2> 索引方式

  

二、数组

  数组的定义,两种方式,字面量和Array构造函数,如下图:

      var s = [1, "ctrip"];
      var a = new Array(1, "ctrip");

我们会发现一个现象,数组居然还能和对象扯到一块,最后会搞得你眼花缭乱,也许这个就是无类型的灵活性,有利有弊吧。

从图中我们可以看到,通过s.name="cnblogs"这种类对象赋值的方式,可以将key和value加入到数组中,并且你还可以通过s.name和

s["name"]输出结果值,这就说明数组本质上还是类,只不过在类里面做了一些高层封装,比如需要定时的统计length大小,也就造成了可

以用两个方式输出结果值,不过这就造成了索引数组和关联数组并存的情况了。

参考文献:http://www.cnblogs.com/huangxincheng/p/4116778.html

时间: 2024-08-29 22:57:27

JavaScript学习杂记--对象和数组的相关文章

Javascript学习------FileSystemObjec对象

动态创建FileSystemObject对象: var fso=new FileSystemObject("Scripting.FileSystemObject"); (接下来可以用变量fso对Drive对象.Drives集合.File对象.Files集合.Folder对象.Folders集合以及TextStream对象进行相应的操作.) FileSystemObject对象的方法 ·GetAbsolutePathName()方法:该方法根据提供的路径返回完整的路径. ·GetBase

javascript学习------Number对象,Boolean对象

Math对象: 该对象提供了大量的数学常量和数学函数. 使用Math对象时,不应该使用new关键字创建对象,而应直接使用. 如: Math.PI; 例子:随机产生指定位数的验证码 Number对象的创建: 1. var num = new Number(object); 2. var num = Number(object); Number对象的属性: 1.MAX_VALUE属性 2.MIN_VALUE属性 3.NEGTIVE_INFINITY属性:负无穷大 4.POSITIVE_INFINIT

JavaScript学习-js中的数组/Boolean类/字符串String类

JavaScript学习 [js中的数组] 1.数组的概念:是在内存中连续储存对个有序元素的结构 元素的顺序称为下标,通过下标查找对象元素. 2.数组的声明: ① 字面量声明:var arr1 = []; js中,同一数组,可以储存多种不同的数据类型: 例如: var arr1 = [1,"2",true,{"name":"hahhah"},[1,2]] ② new关键字声明: var arr2 = new Arry(参数) >>&g

JavaScript基础笔记:对象和数组

对象是一种类型,即引用类型.而对象的值就是引用类型的实例.在ECMAScirpt中引用类型是一种数据类型,用于将数据和功能组织在一起.常被称为类.但ECMAScript并没有这种东西.ECMAScirpt是一种面向对象的语言,却不具备传统面向对象语言所支持的类和接口等基本结构. 一.Object类型 创建Object类型有两种方式.一种是使用new运算符,一种是字面量表示法. 1.使用new运算符创建Object 1 var box = new Object(); // new 方式 2 box

JavaScript学习-自定义对象/

JavaScript学习 [自定义对象] 1.基本概念 ① 对象概念: 对象是包含一系列无序属性和方法的集合: ② 对象中的数据,是以键值对形式存在的,以键取值: ③ 属性:描述对象特征的一系列变量.[对象中的变量]: ④ 方法:描述对象行为的一系列方法.[对象中的函数]: 2.对象的声明: ① 字面量声明: var ovj={ key1:value1, //属性 key2:value2 func:function(){} //方法 } ② 对象中的键,可以是任何数据类型.但,一般用作普通变量名

JavaScript学习笔记——对象知识点

javascript对象的遍历.内存分布和封装特性 一.javascript对象遍历 1.javascript属性访问 对象.属性 对象[属性] //字符串格式 2.javascript属性遍历 for in 二.内存分布 三.对象的特性之封装 把对象所有的组成部分组合起来,尽可能的隐藏对象的部分细节,使其受到保护. 只保留有限的接口和外部发生联系. 一.工厂函数 二.构造函数 三.prototype方法 四.混合方法

学习笔记:javascript内置对象:数组对象

1.数组对象的创建 1.设置一个长度为0的数组 var myarr=new array(); 2.设置一个长度为n的数组 var myarr=new arr(n); 3.声明一个赋值的指定长度的数组 var myarr=new myarr(1,2,3,4,5,6); 4.为数组元素赋值 arr[i]=值 变量名=数组变量[i]; 5.删除数组元素 delete myarr[1]; 2.常用函数 方法 描述 concat() 连接两个或更多的数组,并返回结果. join() 把数组的所有元素放入一

JavaScript学习笔记3之 数组 &amp; arguments(参数对象)&amp; 数字和字符串转换 &amp; innerText/innerHTML &amp; 鼠标事件

一.Array数组 1.数组初始化(Array属于对象类型) 1 /*关于数组的初始化*/ 2 //1.创建 Array 对象--方法1: 3 var arr1=[]; 4 arr1[0]='aa';//给数组元素赋值 5 arr1[1]='bb'; 6 arr1[2]='cc'; 7 arr1[3]='dd'; 8 console.log(arr1);//["aa","bb","cc","dd"] 9 //1.创建 Arra

JavaScript学习笔记:检测数组方法

很多时候我们需要对JavaScript中数据类型( Function . String . Number . Undefined . Boolean 和 Object )做判断.在JavaScript中提供了typeof操作符可以对这些常用的数据类型做判断.但要使用typeof来判断数据是不是一个数组,就不起作用了.那在实际生产中要如何来检测数据是不是一个数组呢? 今天的学习任务就是如何来检测一个数据是不是数组? typeof操作符 typeof 可以解决大部分数据类型的检测,如: 1 cons