進來看,讓你躺着就把JavaScript學完了(四)

JavaScript基礎語法4

若是你想成爲一名優秀的java架構師,看這裏 → 樂字節免費公開課(騰訊課堂)html

如須要跟多資料請點擊右側(記住入羣暗號:66) → 這是一條不歸路,有禿頭風險,請慎重選擇!java

控制語句

​ 咱們寫的 JavaScript 代碼都是按照從上到下依次執行,不少時候咱們但願代碼按照咱們的意願去執行,好比有選擇性地執行某些代碼,或者重複地執行某些代碼,這就須要使用到流程控制語句。 數組

​ 流程控制語句一共有三種:架構

​ 1. 流程執行:從上到下,從左到右ide

​ 2. 選擇執行:分支選擇code

​ 3. 循環執行:重複執行htm

選擇

單選擇
if (條件){
    語句體;
}

​ 首先執行條件對象

​ 若是結果爲true,則執行語句體;索引

​ 若是結果爲false,則結束if語句。ip

​ 注意:若語句體只有一條語句,能夠省略大括號,但不建議省略

雙選擇
if (條件){
    語句體1;
}else {
    語句體2;
}

​ 首先執行條件

​ 若是結果爲true,則執行語句體1;

​ 若是結果爲false,則執行語句體2。

多選擇
if(比較表達式1) {
    語句體1;
}else if(比較表達式2){
    語句體2;
}else if(比較表達式3){
    語句體3;
}
    ...
[else {
    語句體n+1;
}]
switch結構

​ 多個 if ...else 且值爲定值時(即=== 在比較運行結果時,採用的是嚴格相等運算符(===),而不是相等運算符(==),這意味着比較時不會發生類型轉換。) ,可使用 switch 替換:

switch(表達式) {
    case 值1:
        語句體1;
        break;
    case 值2:
        語句體2;
        break;
    ...
    default:
        語句體n+1;
        [break;]
}

​ break 防止穿透,若是沒有 break,則繼續執行後面的代碼,直到遇到 break 或所有執行完畢,可是有些時候會利用穿透。

循環

​ 循環結構用於重複執行某個操做 簡單理解就是重複執行同類型的代碼,它有多種形式。

while

​ 先判斷後執行

基本格式
    while(判斷條件語句) {
        循環體語句;
    }

擴展格式:
    初始化語句;
    while(判斷條件語句){
        循環體語句;
        控制條件語句; //   少了它很容易造成死循環
    }
do...while

​ 先執行後判斷,至少執行一次

基本格式
    do {
        循環體語句;
    }while(判斷條件語句);

擴展格式:
    初始化語句;
    do {
        循環體語句;
        控制條件語句;
    } while(判斷條件語句);
for
for(初始化語句;判斷條件語句;控制條件語句){
    循環體語句;
}
死循環

​ 條件永遠成立,永遠爲 true,則會產生死循環,下面是最簡單的死循環

while(true){}
for(;;){}
break 與 continue

​ break: 中止本層循環

​ continue:暫停本次循環,繼續下一次

數組

​ 數組是按次序排列的一組數據,每一個值的位置都有編號(從0開始),整個數組用方括號表示。

數組定義

​ JS 中定義數組的三種方式以下(也可先聲明再賦值):

var arr = [值1,值2,值3];  // 隱式建立

var arr = new Array(值1,值2,值3); // 直接實例化

var arr = new Array(size); // 建立數組並指定長度

基本操做

​ 數組的長度能夠經過length屬性來獲取,並能夠任意更改

數組名.length
數組名.length = 新長度

​ 數組中的每個元素均可以被訪問和修改,甚至是不存在的元素,無所謂越界

數組名[下標]
數組名[下標] = 新值

數組遍歷

​ 數組的遍歷即依次訪問數組的每個元素 ,JS提供三種遍歷數組的方式:

普通的for循環遍歷
for(var i=0; i<=數組.length-1; i++){

}
如:
for(var idx=0;idx<arr.length;idx++){
    console.log(arr[idx]);
}
for ... in
for(var 下標(名稱任意) in 數組名){ 
    數組名[下標]是獲取元素
} // 下標(名稱任意)
如:
for(var idx in arr){
    console.log(arr[idx]);
}
forEach
數組名.forEach(function(element,index){
    // element(名稱任意):元素,index(名稱任意):下標
})    
如:
arr.forEach(function(elem,idx){
    console.log(idx + "-->" + elem);
});
瞭解
數組在使用的時候建議你們規矩來用。在存放數據時,從下標0開始順序的存放數組元素。
若是下標:
    1.爲非負整數(包括整數字符串):自動從0開始,不存在添加 undefined
    2.爲負數、小數、非數字符串:這些內容不計算在長度內,當成"屬性"處理,至關於自定義屬性。

數組很是靈活,使用數組元素
    1.下標: 非負整數(包括整數字符串): 
        數組.下標
        數組[下標]
    2.下標:負數、小數、非數字字符串:
        數組[屬性]

* for --> 不遍歷屬性
* foreach -->不遍歷屬性和索引中的undefined
* for in -->不遍歷索引中的undefined

數組提供的操做方法

​ Array對象爲咱們提供了一些方法,能夠很方便地操做數組

push          添加元素到最後 
unshift       添加元素到最前 
pop           刪除最後一項 
shift         刪除第一項 
reverse       數組翻轉 
join          數組轉成字符串 
indexOf       數組元素索引 
slice         截取(切片)數組,原數組不發生變化 
splice        剪接數組,原數組變化,能夠實現先後刪除效果 
concat        數組合並
var arr = ['1','a',5,'3'];
console.log(arr);
arr.push(10);
console.log(arr);
arr.unshift('b');
console.log(arr);
arr.pop();
console.log(arr);
arr.shift();
console.log(arr);
arr.reverse();
console.log(arr);
console.log(arr.join('\''));
console.log(arr);
console.log(arr.indexOf('a'));
console.log(arr.slice(2,5));
console.log(arr);
arr.splice(1,1,'一','二');
console.log(arr);
var arr1 = [0,'100'];
console.log(arr.concat(arr1));
console.log(arr);
console.log(arr1);
console.log(arr1.(arr));
相關文章
相關標籤/搜索