数组
重复做一件事,改变思路~
/*var name = ""
第一种:定义并赋值(最常用的)
var arr =["值1","值2","值3"]
var arr1 =[];
arr1[0] = 123;
arr1[1] = 123;
arr1[3] = 123;
第二种
var arr2=new Array("值1","值2","值3");
var arr2=new Array("值1","值2","值3");
数组长度(元素的个数) 数组:length
console.log(arr.length)
下标(索引) :代表数组中第几个元素 从0开始
arr[0] = 123;
arr[1] = 123;
arr[2] = 123;
console.log(arr.length)
索引和数组长度的关系 索引=数字长度-1
函数定义(声明)
/*function(参数列表){
执行代码
}
调用
函数名(参数列表)
Js的两种post方式
1 var xmlobj; //定义XMLHttpRequest对象 2 3 function CreateXMLHttpRequest() 4 5 { 6 7 if(window.ActiveXObject) 8 9 //如果当前浏览器支持Active Xobject,则创建ActiveXObject对象 10 11 { 12 13 //xmlobj = new ActiveXObject("Microsoft.XMLHTTP"); 14 try { 15 xmlobj = new ActiveXObject("Msxml2.XMLHTTP"); 16 } catch (e) { 17 try { 18 xmlobj = new ActiveXObject("Microsoft.XMLHTTP"); 19 } catch (E) { 20 xmlobj = false; 21 } 22 } 23 24 } 25 26 else if(window.XMLHttpRequest) 27 28 //如果当前浏览器支持XMLHttp Request,则创建XMLHttpRequest对象 29 30 { 31 32 xmlobj = new XMLHttpRequest(); 33 } 34 35 } 36 37 function SubmitArticle(act,cityname,antique) //主程序函数 38 39 { 40 41 CreateXMLHttpRequest(); //创建对象 42 //var parm = "act=firstweather" ;//构造URL参数 43 //antique = escape(antique); 44 var parm = "act=" + act + "&cityname=" + cityname + "&antique=" + antique;//构造URL参数 45 //xmlobj.open("POST", "{dede:global.cfg_templeturl/}/../include/weather.php", true); //调用weather.php 46 xmlobj.open("POST", "/weather/include/weather.php", true); //调用weather.php 47 xmlobj.setRequestHeader("cache-control","no-cache"); 48 xmlobj.setRequestHeader("contentType","text/html;charset=uft-8") //指定发送的编码 49 xmlobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); //设置请求头信息 50 51 xmlobj.onreadystatechange = StatHandler; //判断URL调用的状态值并处理 52 53 xmlobj.send(parm); //设置为发送给服务器数据 54 55 }
1 function post(URL, PARAMS) { 2 var temp = document.createElement("form"); 3 temp.action = URL; 4 temp.method = "post"; 5 temp.style.display = "none"; 6 for (var x in PARAMS) { 7 var opt = document.createElement("textarea"); 8 opt.name = x; 9 opt.value = PARAMS[x]; 10 // alert(opt.name) 11 temp.appendChild(opt); 12 } 13 document.body.appendChild(temp); 14 temp.submit(); 15 return temp; 16 } 17 18 调用方法 如 19 post('pages/statisticsJsp/excel.action', {html :prnhtml,cm1:'sdsddsd',cm2:'haha'});
多维数组
1、数组(向量)——常用数据类型
一维数组(向量)是存储于计算机的连续存储空间中的多个具有统一类型的数据元素。
同一数组的不同元素通过不同的下标标识。
(a1,a2,…,an)
2、二维数组
二维数组Amn可视为由m个行向量组成的向量,或由n个列向量组成的向量。
二维数组中的每个元素aij既属于第i行的行向量,又属于第j列的列向量。
3、多维数组
三维数组Amnp可视为以二维数组为数据元素的向量。四维数组可视为以三维数组为数据元素的向量……
三维数组中的每个元素aijk都属于三个向量。四维数组中的每个元素都属于四个向量……
4、数组的顺序存储方式
由于计算机内存是一维的,多维数组的元素应排成线性序列后存人存储器。
数组一般不做插入和删除操作,即结构中元素个数和元素间关系不变化。一般采用顺序存储方法表示数组。
(1)行优先顺序
将数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。
【例】二维数组Amn的按行优先存储的线性序列为:
a11,a12,…,a1n,a21,a22,…,a2n,……,am1,am2,…,amn
注意:
①PASCAL和C语言中,数组按行优先顺序存储。
②行优先顺序推广到多维数组,可规定为先排最右的下标。
(2)列优先顺序
将数组元素按列向量排列,第i+1个列向量紧接在第i个列向量后面。
【例】二维数组Amn的按列优先存储的线性序列为:
a11,a21,…,am1,a12,a22,…,am2,……,a1n,a2n,…,amn
注意:
①FORTRAN语言中,数组按列优先顺序存储。
②列优先顺序推广到多维数组,可规定为先排最左的下标。
5、数组元素的地址计算公式
(1)按行优先顺序存储的二维数组Amn地址计算公式
LOC(aij)=LOC(a11)+[(i-1)×n+j-1]×d
其中:
①LOC(a11)是开始结点的存放地址(即基地址)
②d为每个元素所占的存储单元数
③由地址计算公式可得,数组中任一元素可通过地址公式在相同时间内存取。即顺序存储的数组是随机存取结构。
(2)按列优先顺序存储的二维数组Amn地址计算公式
LOC(aij)=LOC(a11)+[(j-1)×m+i-1]×d
(3)按行优先顺序存储的三维数组Amnp地址计算公式
LOC(aijk)=LOC(a111)+[(i-1)×n×p+(j-1)×p+k-1]×d
(4)下界不为1的二维数组的地址计算公式
①二维数组A[c1..d1,c2..d2]的地址计算公式:
LOC(aij)=LOC(ac1c2)+[(i-c1)×(d2-c2+1)+j-c2]×d
②下界为0的二维数组的地址计算公式(C语言中使用)
LOC(aij)=LOC(a00)+[i×(d2+1)+j]×d