Android開發人員不得不學習的JavaScript基礎(一)
操作符
在JavaScript中,有很多種操作符,算術操作符、賦值操作符、比較操作符以及邏輯操作符
1.1、算術操作符:
+
,-
,*
,/
,除了加號(+
)之外,其他都是按照四則運算大方式來進行,而加號(+
)在字串中可以作為連線符來使用,這個和Java是一樣的。
1.2、賦值操作符:
=
操作符不是等於,而是賦值操作
1.3、比較操作符:
操作符 | 描述 |
---|---|
< | 小於 |
> | 大於 |
<= | 小於等於 |
= |
大於等於 |
== | 等於(比較值是否相同) |
=== | 等於(比較值和值的型別是否相同) |
!= | 不等於(同==) |
!== | 不等於(同===) |
JavaScript中的比較操作符的用法和Java是一樣的。但是需要注意的是表格中的==
與===
的不同用法。
1.4、操作符優先順序:
算術操作符 > 比較操作符 > 邏輯操作符 > 賦值操作符;如果同級的運算是按從左到右次序進行,多層括號由裡向外。
陣列
在JavaScript中,定義一個數組是沒有型別的,也就是說可以往陣列中新增任何型別的資料。
1、定義
var myarray=new Array(); //沒有指定陣列的長度
var myarray= new Array (8); //建立一個長度為8的陣列
注意:
- 建立的新陣列是空陣列,沒有值,如輸出,則顯示undefined。
- 雖然建立陣列時,指定了長度,但實際上陣列都是變長的,也就是說即使指定了長度為8,仍然可以將元素儲存在規定長度以外。
2、陣列長度屬性
使用array.length
屬性來獲取陣列的長度,因為陣列的索引總是由0開始,所以一個數組的上下限分別是:0和length-1;同時,在JavaScript中陣列的length屬性是可變的。
3、二維陣列
在JavaScript中,二維陣列用myarray[x][y]來表示,宣告二維陣列有兩種方式:
方式一:
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
}
}
方式二:
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]
函式
在JavaScript中,函式的使用需要注意以下幾點事項:
1、函式呼叫
方式一:在JS程式碼中直接呼叫
<script>
var sum;
function add2(){
sum = 3 + 2;
alert(sum);
}
add2();
</script>
方式二:在HTML標籤中呼叫
<script>
var sum;
function add2(){
sum = 3 + 2;
alert(sum);
}
</script>
<body>
<input type="button" value="按鈕" onclick="add2()" />
</body>
2、函式引數
2.1、無參:
<script>
var sum;
function add2(){
sum = 3 + 2;
alert(sum);
}
</script>
2.2、有參
<script>
var sum;
function add2(x,y){
sum = x + y;
alert(sum);
}
</script>
注意:有參函式中,引數型別是沒有型別的(好隨意的語言啊>_<)
3、函式返回值
這裡需要注意的是,在JavaScript中,函式的定義是沒有返回值型別這一說的,不像Java裡面,任何一個函式都需要指明返回值型別。
<script>
var sum;
function add2(x,y){
sum = x + y;
return sum;
}
</script>
上面的函式中,你為它增加一條return語句,它就是一個有返回值的函數了,如果去掉return語句,那麼它就是一個無返回值的函式(不得不又說一句,JS真隨意!!!)
事件
JavaScript 建立動態頁面。事件是可以被 JavaScript 偵測到的行為。 網頁中的每個元素都可以產生某些可以觸發 JavaScript 函式或程式的事件。
事件 | 說明 |
---|---|
onclick | 滑鼠單擊事件 |
onmouseover | 滑鼠經過事件 |
onmouseout | 滑鼠移開事件 |
onchange | 文字框內容改變事件 |
onselect | 文字框內容被選中事件 |
onfocus | 游標聚集 |
onblur | 游標離開 |
onload | 網頁匯入 |
onunload | 關閉網頁 |
物件
在JavaScript中也是有物件這一說的,和Java中的物件差不多。JavaScript中的所有事物都是物件,如:字串、數值、陣列、函式等,每個物件帶有屬性和方法。
物件的屬性:反映該物件某些特定的性質的,如:字串的長度、影象的長寬等;
物件的方法:能夠在物件上執行的動作。例如,表單的“提交”(Submit),時間的“獲取”(getYear)等;
1、Date物件
在JavaScript中,Date物件被用來儲存/獲取日期,該物件有以下方法/屬性:
方法名稱 | 功能描述 |
---|---|
get/setDate() | 返回/設定日期 |
get/setFullYear() | 返回/設定年份,用四位數表示 |
get/setYear | 返回/設定年份 |
get/setMonth | 返回/設定月份0:一月 … 11:十二月,所以要加1 |
get/setHours | 返回/設定小時 24小時制 |
get/setMinutes() | 返回/設定分鐘 |
get/setSeconds() | 返回/設定秒 |
get/setTimes() | 返回/設定時間(毫秒單位) |
getDay() | 返回星期0:週一 … 6:週日 |
2、String物件
任何一門語言都離不開對String的操作,JavaScript也不例外,該物件有以下方法/屬性:
方法名稱 | 功能描述 |
---|---|
String.charAt(1) | 獲取字串中第1個位置的字元 |
String.indexOf(‘x’) | 或取字元x在字串中第1次出現的位置,若沒找到,返回-1 |
String.charAt(1) | 獲取字串中第1個位置的字元 |
String.split(separator,limit) | 第一個引數是字串分割的參照字元,第二個引數表示最多切割多少次,可以不設定,該方法返回的是一個數組 |
String.substring(start,end) | 第一個引數表示開始位置,第二個引數表示結束位置,可省略,返回的是從start到end-1位置的子串 |
String.substr(start,length) | 第一個引數表示開始位置,第二個引數表示裁剪幾個字元,可省略,返回的是從start到start+length位置的子串 |
3、Math物件
在JavaScript,Math物件提供對資料的數學計算。Math物件中有屬性,也有方法,以下是Math物件中的屬性:
屬性名稱 | 功能描述 |
---|---|
E | 返回算數常量e,即自然對數的底數(約為2.718) |
LN2 | 返回2的自然對數(約等於0.693) |
LN10 | 返回10的自然對數(約等於2.302) |
LOG2E | 返回以2為底E的對數(約等於1.442) |
LOG10E | 返回以10為底E的對數(約等於0.434) |
PI | 返回圓周率(約等於3.14159) |
SQRT1_2 | 返回2的平方根的倒數(約等於0.707) |
SQRT2 | 返回2的平方根(約等於1.414) |
在JavaScript中,Math物件有以下方法:
屬性名稱 | 功能描述 |
---|---|
abs(x) | 返回x的絕對值 |
acos(x) | 返回x的反餘弦值 |
asin(x) | 返回x的反正弦值 |
atan(x) | 返回x的反正切值 |
atan2(y,x) | 返回x軸到點(x,y)的角度(以弧度為單位) |
ceil(x) | 對x進行上舍入(向上取整) |
floor(x) | 對x進行下舍入(向下取整) |
sin(x) | 返回x的正弦值 |
cos(x) | 返回x的餘弦值 |
tan(x) | 返回x的正切值 |
exp(x) | 返回e的x次冪 |
log(x) | 返回x的自然對數(底為e) |
max(x,y) | 返回x和y中的最大值 |
min(x,y) | 返回x和y中的最小值 |
pow(x,y) | 返回x的y次冪 |
random() | 返回0-1之間的隨機數 |
round(x) | 返回x的四捨五入值 |
sqrt(x) | 返回x的平方根 |
4、陣列Array物件
陣列在上面已經介紹過了,就不再做過多的介紹了,下面來看看JavaScript中陣列的一些方法以及屬性:
屬性/方法名稱 | 功能描述 |
---|---|
Array.length | 返回陣列長度 |
Array.contact(arr1,…arrn) | 連線兩個或多個數組並返回一個最終的陣列 |
Array.join(seprator) | 把陣列的所有元素放入一個字串,元素通過指定的字元seprator進行連線,返回一個字串 |
Array.pop() | 刪除並返回陣列的最後一項 |
Array.push(x1,…xn) | 向陣列的末尾新增一個或更多元素,並返回新陣列的長度 |
Array.reverse() | 顛倒陣列中元素的順序並返回一個數組 |
Array.shift() | 刪除並返回陣列中的第一個元素 |
Array.slice(start,end) | 從某個已有的陣列返回選定元素,第一個引數表示從start處開始到end處結束,如果start為-1,那麼從倒數第一個元素開始,以此類推,返回一個子串 |
Array.sort(function) | 對元素進行排序操作,並返回一個數組,引數是可選的,但是必須是一個函式(升序,降序) |
Array.splice(index,howmaney,item1…itemn) | 刪除元素,並向陣列新增新的元素,第一個引數表示在陣列中刪除/新增的位置,第二個引數表示需要刪除的元素的數量,後面是新增的引數 |
Array.toString() | 把陣列轉化為字串並返回 |