4.1

什么是数组

我们知道变量用来存储数据,一个变量只能存储一个内容,存储多个值时,就需要用到数组。

数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值。

创建数组的语法:

var myarray = new Array();

我们创建数组的同时,还可以为数组指定长度,长度可任意指定。

var myarray= new Array(8); //创建数组,存储8个数据。

注意:

1.创建的新数组是空数组,没有值,如输出,则显示undefined。

2.虽然创建数组时,指定了长度,但实际上数组都是变长的,也就是说即使指定了长度为8,仍然可以将元素存储在规定长度以外。

我们还可以用简单的方法创建上面的数组和赋值:

第一种方法:

var myarray = new Array(66,80,90,77,59);//创建数组同时赋值

第二种方法:

var myarray = [66,80,90,77,59];//直接输入一个数组(称 “字面量数组”)

注意:数组存储的数据可以是任何类型(数字、字符、布尔值等)

向数组增加一个新元素

只需使用下一个未用的索引,任何时刻可以不断向数组增加新元素。

得到一个数组元素的值,只需引用数组变量并提供一个索引,如:

第一个人的成绩表示方法:myarray[0]

第三个人的成绩表示方法: myarray[2]

数组属性length

如果我们想知道数组的大小,只需引用数组的一个属性length。Length属性表示数组的长度,即数组中元素的个数。

语法:

myarray.length; //获得数组myarray的长度

注意:因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。如数组的长度是5,数组的上下限分别是0和4。

同时,JavaScript数组的length属性是可变的,这一点需要特别注意。

arr.length=10; //增大数组的长度document.write(arr.length); //数组长度已经变为10

数组随元素的增加,长度也会改变,如下:

var arr=[98,76,54,56,76]; // 包含5个数值的数组document.write(arr.length); //显示数组的长度5arr[15]=34;  //增加元素,使用索引为15,赋值为34alert(arr.length); //显示数组的长度16

二维数组

一级数组,我们看成一组盒子,每个盒子只能放一个内容。

一维数组的表示: myarray[ ]

二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子。

二维数组的表示: myarray[ ][ ]

注意: 二维数组的两个维度的索引值也是从0开始,两个维度的最后一个索引值为长度-1。

1. 二维数组的定义方法一

var myarr=new Array();  //先声明一维 for(var i=0;i<2;i++){   //一维长度为2   myarr[i]=new Array();  //在声明二维    for(var j=0;j<3;j++){   //二维长度为3   myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j   } }

注意: 关于for 循环语句,请看第四章4-5 。

将上面二维数组,用表格的方式表示:

2. 二维数组的定义方法二

var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3 ]]

3. 赋值

myarr[0][1]=5; //将5的值传入到数组中,覆盖原有值。

说明: myarr[0][1] ,0 表示表的行,1表示表的列。

------------------------------------------------------------------------------------------------------------

操作符之间的优先级(高到低):

算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号

如果同级的运算是按从左到右次序进行,多层括号由里向外。

算数操作符中:

位运算的优先级是最高的

其次是(++放在前后的意思是不一样的,++i意思是i先加1再下一轮继续执行+1;i++当次不执行再下一轮开始执行+1)

++

--

然后是

* /

最后才是

+ -

js基础学习笔记(四)的更多相关文章

  1. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  2. 两万字Vue.js基础学习笔记

    Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...

  3. 两万字Vue.js基础学习笔记(二)

    Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...

  4. Java基础学习笔记四 Java基础语法

    数组 数组的需求 现在需要统计某公司员工的工资情况,例如计算平均工资.最高工资等.假设该公司有50名员工,用前面所学的知识完成,那么程序首先需要声明50个变量来分别记住每位员工的工资,这样做会显得很麻 ...

  5. js基础学习笔记(二)

    2.1  输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出&q ...

  6. node.js 基础学习笔记3 -express

    1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页 ...

  7. node.js 基础学习笔记3 -http

    http模块,其中封装了一个高效的HTTP服务器和一个建议的HTTP客户端 http.server是一个基于事件的HTTP服务器 http.request则是一个HTTP客户端工具,用户向服务器发送请 ...

  8. node.js 基础学习笔记2

    Module和Package是Node.js最重要的支柱. Node.j 提供require函数来调用其他模块,而且模块都是基于文件.模块和包区别是透明的,因此常常不作区分. 1.模块和文件一一对应. ...

  9. node.js 基础学习笔记1

    1. node -v 查看版本 node -e --js代码 node --进入编辑模式 Ctrl+C 退出编译模式 var http=require('http') http.createServe ...

随机推荐

  1. Scala语言学习笔记(2)

    表达式,值,变量,代码块,函数,方法 // 表达式 1 + 1 println(1 + 1) // 2 // 值(values)使用 val 关键字声明,带初值时类型可省略. val x = 1 + ...

  2. Java GC的原理

    Java GC(garbage collec,垃圾收集,回收) GC是对JVM中的内存进行标记和回收,Sun公司的JDK用的虚拟机都是HotSpot 对象化的实例是放在heap堆内存中的,这里讲的分代 ...

  3. gorm中数据库datetime类型的映射和time.Time的格式化

    如果在结构体中设置time变量的类型是time.Time,那么gorm取出来的时间格式将会是”2006-01-02 15:04:05.999999999 -0700 MST“东八区时间,在time.T ...

  4. for循环计算阶乘的和,for循环计算阶乘倒数的和

    计算阶乘的和 //阶乘的和,5!+4!+3!+2! int a = 5; for(int b = 4; b > 0; b--) { a = a * b; } //先定义好最大数的阶乘是多少 in ...

  5. day7:vcp考试

    Q121. An ESXi 6.x host in the vCenter Server inventory has disconnected due to an All Paths Down (AP ...

  6. 测试SQL

    create database testDB create table users(    id int primary key identity(1,1),    uname nvarchar(20 ...

  7. JS 图片切换

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="zzzz.aspx.cs&quo ...

  8. mysql中GROUP_CONCAT的使用

    现在有三个表,结构如下: cate表 CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', ...

  9. win, cmd下安装mysql(win真tm难用)

    常用命令: 修改root用户密码 update mysql.user set authentication_string=password('1234qwer') where user='root' ...

  10. Telnet 协议详解

    Telnet 协议详解 一.概述 ============================================================ Telnet 协议是 TCP/IP 协议族中 ...