數(shù)組
數(shù)組吊说,實際上就是將一大堆相似的數(shù)據(jù)有秩序的放到一個箱子里局服,十分像藥房的那些柜子状植。
創(chuàng)建數(shù)組
var a= new array();
//創(chuàng)建數(shù)組浊竟,和創(chuàng)建對象的語法相似,
new
//Arrat 和Data一樣也是一個內(nèi)置對象津畸,需要使用new運算符創(chuàng)建振定。
Data();
a[0]=1;
a[1]="adajdak";
a[2]=true; alert(a[2]); 輸入值為:彈窗:adajdak
//數(shù)組類型不固定洼畅,JavaScript的弱類型吩案,即:動態(tài)類型。
Math.PI;//Math對象的屬性PI帝簇。var a=new Array();
alert(a.length);//數(shù)組對象a的屬性length徘郭,數(shù)組元素的個數(shù)。
數(shù)組對象從0開始丧肴,對一個元素下表為0;數(shù)組沒有元素残揉,即,不存在芋浮,或者數(shù)組未賦值返回值都為undefined抱环。
數(shù)組最大下標為數(shù)組長度減一alert(a[a.length-1]);
//數(shù)組可以有初始值內(nèi)容,如:var a=new Array(1,2,3,4,5,6);
alert(a)
當數(shù)組初始值只有一個參數(shù)的時候,這個參數(shù)應(yīng)該是數(shù)組的出事長度纸巷。
var b=[];//創(chuàng)建一個長度為0的數(shù)組镇草。//不會和Array一樣,參數(shù)值為一個的時候返回數(shù)組長度瘤旨。a[a.length]=123456;
//向數(shù)組末尾添加一個元素梯啤。寫法代碼量較大。
//push方法專門用來向數(shù)組末尾添加元素存哲。如:a.push(456);
push方法的返回值為數(shù)組新的長度因宇;如:var a=new Array();
a.push(456);
var l=a.push(456);
alert(l);
push可以一次添加多個值。如:var l=a.push(456,123,456,458);
delete d[1];
//刪除數(shù)組d[1]的值祟偷,但不會改變數(shù)組的長度察滑。
//join方法,返回數(shù)組中所有元素以指的分割符間隔的字符串修肠。如:alert(d.join("#"));
//var a=new Array();
//a[0]=1;
//alert{a[a.length-1]};//數(shù)組對象a的屬性length贺辰,數(shù)組元素的個數(shù)。
//alert(a[a.length-1]);//數(shù)組可以有初始值內(nèi)容,如://var a=new Array(1,2,3,4,5,6);
//alert(a)
//var b=[];//創(chuàng)建一個長度為0的數(shù)組。//不會和Array一樣魂爪,參數(shù)值為一個的時候返回數(shù)組長度先舷。
//var a=new Array();
//a.push(456);
//var l=a.push(456,123,456,458);
//alert(l);
//alert(a.length)
//var date=new Date();
//var start = date.getTime();
//for (var i=0;i<999999;i++) {
//Math.pow(i,i);
//}
//alert((new Date().getTime())-start)
//
//var obj={
// name:"wpc",
// age:18
//};
//alert(obj.name)
var a=[];//數(shù)組的字面量;
var obj={//對象的自變量
name:"wpc",
age:18
};
也可以這樣寫:
var obj={//對象字面量滓侍。
"姓名-全名":"wpc",
"":18
};
alert(obj["姓名-全名"]);
即:給變量屬性名添加一個引號包裹蒋川,
這樣寫的好處是可以起一些JavaScript中正常情況下
不存在不能正常使用的變量屬性名,輸出方法和數(shù)組字面量的輸出方法一樣撩笆;
(空字符串也可以)
obj[//數(shù)字,//字符串]
//object比Array少一些功能:
//少:length屬性捺球,push,join ...
Array是object的一個擴展夕冲。var arr=new Array(123);
//創(chuàng)建一個有123個空位的數(shù)組氮兵。
對于數(shù)組,我們可以使用for對其進行遍歷歹鱼,但for循環(huán)只能遍歷具有數(shù)字下標的元素for( var i in obj){//for in 循環(huán) :foreach
alert(i+":"+obj.i);
};
即:
obj={
name:1泣栈,
age:18,
weight:123,
height:170
}
for( var i in obj){//for in 循環(huán) :foreach
alert(i+":"+obj[i]);
};
案例,通過名字或?qū)W號查找學生成績弥姻;var myClass=[];
//創(chuàng)建一個數(shù)組南片,放置每個學生的信息,以學生的學號作為數(shù)組下表庭敦;
myClass[1]={
"name":"aa",
"Chinese":60,
"English":61,
"math":62
}
myClass[2]={
"name":"bb",
"Chinese":60,
"English":61,
"math":62}myClass[3]={
"name":"cc",
"Chinese":60,
"English":61,
"math":62
}
myClass[4]={
"name":"dd",
"Chinese":60,
"English":61,
"math":62
}
myClass[5]={
"name":"my",
"Chinese":100,
"English":100,
"math":100
}
var name=prompt("請輸入學生姓名","")
for (var i=1;i<myClass.length;i++) { if (myClass[i].name==name) { alert("math:"+myClass[i].math+" "+ "Chinese:"+myClass[i].Chinese+" "+ "English:"+myClass[i].English); }
}//上例為通過名字查找//通過學號查找則為:var xh=prompt("請輸入學生學號","")
for (var i=1;i<myClass.length;i++) { if (i==xh) { alert("math:"+myClass[i].math+" "+ "Chinese:"+myClass[i].Chinese+" "+ "English:"+myClass[i].English); }
}function mz(name) { for (var i=1;i<myClass.length;i++) {
if (myClass[i].name==name) {
document.write("math:"+myClass[i].math+" "+ "Chinese:"+myClass[i].Chinese+" "+ "English:"+myClass[i].English); }
}
};
var mark=mz(prompt("請輸入名字",""));
alert(mark);//使用函數(shù)調(diào)用疼进,存疑惑!Q砹伞广!###JavaScript一切皆對象
var s="String";
alert(s.charAt(s.length-1));
查找字符串的最后一個字符,charAt()小括號里可以是數(shù)字疼电。
var s="姓名";
JavaScript運算中會把所有字符串都轉(zhuǎn)換成Unicode嚼锄,始終使用Unicode。var s1=new String("S");
//創(chuàng)建一個字符蔽豺。
//僅用于知道灾票,沒有什么優(yōu)點,建議永遠不要用CK洹!既们!var s="hello,world!!!";
var s2=s.replace(",","~")alert(s2);
//作為返回值改變原字符串中的字符濒析。
//var s="xxx,你好";
//var s2=s.replace("你好","再見")
//alert(s2);var s="hello,moyanqiuyu";
//s.substr(開始下標,截取個數(shù))alert(s.substr(1,2));
//uc,從下標1開始啥纸,向后截取兩個字符号杏;
//則,返回值為:el;
即:開始下標從0開始盾致,包含結(jié)束下標主经;與之類似的是:alert(s.substring(0,3));
//s.substring(開始下標,結(jié)束下標)庭惜;
//則,返回值為:hel罩驻;
//即:開始下標從0開始;不包括結(jié)束下標护赊。alert(s.toLowerCase());
//全部轉(zhuǎn)換成小寫惠遏。
alert(s.toUpperCase());
//全部轉(zhuǎn)換成大寫。
var a=["A","B","C"];
var a1=a.join(",").split(",");
alert(a1[0]);
alert(typeof(a1));
alert(a1);
var x="ABC".split("B");
alert(x)
//返回一個數(shù)組["A","C"]document.title="莫言秋語" ;