数据传值方式、分支结构、循环结构
運算符的優先級
- 要心如明鏡:運算符有優先級(先后順序)問題。
- 括號最優先,等號(賦值)最落后。
- 先乘除后加減
- 想不清楚或用不明白的,使用括號來解決
- 括號只有小括號,可以一層層嵌套。
數據的傳值方式
在js中,基本數據類型使用 “拷貝傳值”——傳值的時候直接就出現了一份新的數據(當然同時也是另一個變量所代表)
復合數據類型(數組和對象)使用“引用傳值”——傳值的時候只是做了一個地址指向,數據仍然只有一份,兩個變量就指向這同一份數據。
- 注意: 基本(簡單)數據類型的變量名和數據是直接存在“快速內存”(棧內存)中,而復合數據類型(對象和數組)的存儲分兩個部分:實際數據存在“慢速內存”(堆內存)中,棧內存中只存變量名和數據在堆內存中的位置(地址)。
if分支結構
控制結構:就是使用一定的語法來控制我們程序執行的流程——也可以叫“流程控制結構” 分支就是“多條路徑,走一條”。最簡形式:
//如果此條件滿足(即條件判斷的結果是true),則會執行其中的語句塊,否則什么也不做。
if( 條件判斷語句 )
{
//要執行的語句塊——語句塊其實就是一種表示“n條語句”泛泛說法。
}二選一分支形式:含義是兩條路,必走一條。
if( 條件判斷語句 )
{
//要執行的語句塊1——前面條件成立時執行
}
else
{
//要執行的語句塊2——前面條件不成立時執行
}多選一分支結構:多條路根據條件的滿足情況走其中一條,但也可能一條都不走:
if( 條件判斷1 ) //如果此條件滿足,則執行語句塊1,然后if就結束了
{
//語句塊1
}
else if ( 條件判斷2 ) //如果條件1不滿足,則判斷條件2:如果滿足,則執行語句塊2,并結束if
{
//語句塊2
}
else if ( 條件判斷3 ) //如果條件2不滿足,則判斷條件3:如果滿足,則執行語句塊3,并結束if
{
//語句塊3
}
…………………… //依此類推。。。。。。如果沒有一個條件滿足,則其實到最后什么也不會執行,if結束。綜合型式:
if( 條件判斷1 ) //如果此條件滿足,則執行語句塊1,然后if就結束了
{
//語句塊1
}
else if ( 條件判斷2 ) //如果條件1不滿足,則判斷條件2:如果滿足,則執行語句塊2,并結束if
{
//語句塊2
}
else if ( 條件判斷3 ) //如果條件2不滿足,則判斷條件3:如果滿足,則執行語句塊3,并結束if
{
//語句塊3
}
……………. //依此類推。。。。。。
else
{
//最后的else語句塊。 //此語句塊會在前面條件都不滿足的時候去執行。
}
注意:綜合型式中是必有一條分支(語句塊)會得到執行。
switch分支結構:
switch的分支結構整體含義跟if類似,也是表示“多條路走一條”,其使用形式:
switch ( 一個變量或表達式 ) //不管是變量還是表達式,最終都代表一個“值”,我們用v1來說話
{
case 固定值1: //如果v1等于本值1,則會執行語句塊1
//語句塊1;
break; //退出此switch結構
case 固定值2: 如果v1不等于前面值1,則繼續判斷是否等于這里的值2,如果相等,執行語句2
//語句塊2;
break; //退出此switch結構
case ………………………………
。。。。。。。。。。。。。。。。。
default: //如果前面各個判斷都不成立(也就是不相等),則會執行此語句塊。
//注意:switch中此default語句塊可以沒有。
//默認語句塊
}
- 特別注意:if語句其實是可以使用非常靈活的條件判斷,比如 > >= < <= == != === ,但,switch這里case的判斷,只能有一種判斷:相等判斷。
while循環結構:
循環的基本觀念:
while循環的基本語法形式:
while ( 條件判斷 ) //如果條件判斷滿足了,則會執行其中的語句塊,否則while結束。
{
//要執行的語句塊
} //如果此語句塊執行完了,會立即回到前面while的位置繼續判斷。
上述形式只是語法上的基本要求,但,在“實用”中,通常會需要遵照如下模式:
【循環變量初始化】
while ( 【循環變量作為條件判斷】 )
{
//循環體,就是要反復執行的語句塊
【循環變量值的改變】
}
do while循環結構:
do while循環是一種會先執行一次,然后再根據判斷條件來決定是否繼續執行并循環的一種循環結構。
do while的實用形式如下:
【循環變量初始化】
do
{
//循環體,就是要反復執行的語句塊
【循環變量值的改變】
} while ( 【循環變量作為條件判斷】 ) ;
- 描述: 先執行do后面打括號中的語句塊,然后再進行while語句中的條件判斷,如果判斷成立(true),則繼續回到上面do后面的大括號中執行語句塊,否則就結束。
for循環結構——推薦使用:
for循環基本形式:
for( 【循環變量初始化A】; 【循環變量作為條件判斷B】; 【循環變量值的改變C】 )
{
//循環體D,也就是要反復執行的語句塊
}
for循環的執行邏輯(順序):
A ==> B==>true ==> D ==> C ==>B==>true ==> D ==> C ==> B==>
┗==>false==>for循環結束 ┗==>false==>for循環結束
var a = new Date(); //new Date() 就是指“系統時間”,該時間其實就是一個“復合數據”,其中包括了時間(日期)中的各項值,比如年份數,月份數,時分秒,星期等等。其中每個數據都是一個“數字”而已。
var week = a.getDay(); //獲取今天系統時間對應的星期,這里獲取的星期只是一個0到6的數而已。0代表禮拜天,1代表禮拜一。
總結
以上是生活随笔為你收集整理的数据传值方式、分支结构、循环结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: puppet 安装
- 下一篇: 单链表的整表创建以及整表删除