JavaScript學習
標籤(空格分隔)變數
1.啥叫變數
變數是儲存書數值的容器;
2.遊戲規則
【變數命名】變數可以用字母、數字以及底線(_下劃線(_ )或美元符($)組成。
1.必須以字母、底線或美元符號開頭,後面可以跟字母、底線、美元符號和數字。
2.變數名區分大小寫,如:myvar與myVarhi兩個不同的變數。
3.不允許使用JavaScript關鍵字和保留字作為變數名,例如break,Boolean。
3.變數宣告與賦值
var myvar=123;
4.資料型別
string(字串)
Nubmber(數字)
undefined和null
var mychar1="双引号包起来的字符串";//这是字符串 var mychar2='单引号包起来的字符串';//这也是字符串 var mychar3='小蒜:"我喜欢我们班的小可。"';//字符串中有双引号,用单引号包含 var mychar4="Uncle Wang:"\"小蒜啊,'学习好'才能吸引女孩哦~\""; //或者在特定符号(引号)前使用\符号,使其转义输出 var mynum1=6; //这是数字6var mynum2=6.00; //这也是数字6> var mynum3=123e;//这是使用科学(指数)计算法来书写的12300000 var mynum4=123e-5;//这是0.00123var mynum5=ture;//这是布尔值 var mynum6=[1,2,3];//这是数组 var myobject={"p":"Hello"};//这是对象
.字串是,其他變數也會轉成為字串進行連接哦~
var y="you"; var mysay="I"+"love"+y; //=后面是串表达式,mysay值是字符串 var mynum=12+6*2;//=后面是数值表达式,mynum值是数值 var mynum>12;//=后面是布尔表达式,mysay值是布尔值
2.運算子
2.1算數運算子
例如:+-8*/var num=24; var myresult1=++num%4+6*2;//myresult是多少呢? var myresult2=num%4+6*2;//myresult是多少呢?
將算數運算子放在=前面就可以簡化,例如num%=4等價於num=num%4。
2.3比較運算子
例如:>,=,==等於||(並聯)
2.5運算子優先權(高到低):
-* /等算術運算子
= && || !等邏輯運算符
=複製符號。
如果同級的運算時以左至右次序進行,多層括號有里向外。
在這裡提醒一下,在分不清優先順序的時候,透過加括號來記住運算順序就可以了。
練習:連結數字和字串
數組
什麼是數組
1.數組的定義
一句話理解:可以存放多個資料的變數
組數組(Arry)是按次序排列的一組值,單一值稱為元素,他們的位置都有編號(從0開始也就是說第一個元素的下標為0,第二個為1,一次類推)。整個數組方括號表示。
//表达形式一var arr=[]; var arr[0]='a'; var arr=[1]='b'; var arr=[2]='c'; var arr=[3]='d';//表达形式二 var arr=['a''b''c''d'];
2.可以裝什麼?
任一種類型的數據,都可以放進數組裡面。var arr=['x',{a:1},[1,2,3], fucation(){return true;}]; arr[0]; //stringarr[1]; //Objectarr[2]; //Arrayarr[3]; //fucation
var arr=[[1,2],[3,4]]; arr[0][1]; //2arr[1][1]; //4
3.length屬性
3.1陣列的length屬性,可以傳回陣列的成員數量。
數組的length屬性與物件的length屬性有所區別,只要是數組就一定有length屬性,而物件不一定有。
而且,陣列的length屬性是一個動態的值,等於鍵名中最大值加1。
var arr=['a','b']; arr.length; //2arr[2]=;'c'; arr.length; //3arr[9]='d'; arr.length; //10arr[1000]='e'; arr.lengh; //10001
可以發現,數組的數字鍵值不需要連續,length的屬性的值總是等於最大的那個鍵值大1。
3.2 length屬性是可寫的。如果人為設定一個小雨目前成員數量的值,該陣列的成員會自動減少到length設定的長度。
var arr=['a','b','c']; arr.length; //3arr.length=2; arr; //['a','b']
當數組的length屬性設定為2時,即最大的整數之只能是1,所以鍵值2對應的元素(‘c’)就自動被刪除了。因此,將陣列清空的有個有效辦法,就是將陣列的length屬性設為0。
3.3 數組的長度
需要注意,因為數組的索引總是由0開始,所以一個數組的上下限分別是:0和length-1。如數組的長度是5,數組的上下限翻倍是0和4。
4.建立數組
var myarr=new Array(6); console.log(myarray);
5.數組的賦值
var myarr=new Array(3); myarr[0]="小五"; myarr[1]="小明"; myarr[2]="月影"; console.log("班里学号为0的是:"+myarr[0]); console.log("班里学号为1的是:"+myarr[1]); console.log("班里学号为2的是:"+myarr[2]); var arr=["1","abc","myarr"]; console.log(arr[1]);
6.增加新元素
myarr[0]="小五"; myarr[1]="小明"; myarr[2]="月影"; console.log("班里学号为0的是:"+myarr[0]); console.log("班里学号为1的是:"+myarr[1]); console.log("班里学号为2的是:"+myarr[2]); myarr[3]="小新"; console.log(myarr[3]); myarr[0]="小五"; myarr[1]="小明"; myarr[2]="月影"; console.log("班里学号为0的是:"+myarr[0]); console.log("班里学号为1的是:"+myarr[1]); console.log("班里学号为2的是:"+myarr[2]); myarr[3]="小新"; console.log(myarr[3]);
7.使用數組索引量
要得到一個該數組元素的值,只需要用字面索引組變量。var myarr=["小雷","小可","小新","小明","月影"]; var mynum=4; console.log("学号为4的是"+myarr[mynum]);
8.多維數組嵌套
var myarr=[[0,2,3],[1,2,3]] myarr[0][1]=5;//将5的值传入数组中,覆盖原有值。 console.log(myarr[0][1]);
知識點擴充
簡單的for循環:var arr=['a','b','c']; for(var i=0; i<arr.length; i++){ console.log(arr[i]); }