js2-switch語句 for循環(huán) break和continue語句 函數(shù) 全局變量和局部變量

switch語句

  //格式
 switch (值){  //switch中的值,可以是數(shù)字,可以是字符串,甚至可以是表達(dá)式
    case 值1:
         代碼1;
         break;  //不能省略break,省略會(huì)有貫穿問題,代碼會(huì)一直往下執(zhí)行,直到遇到break 為止
    case 值2:
         代碼2;
         break;
         ...
    default:
         代碼n;
}
  • 執(zhí)行到break就結(jié)束switch語句
  • 執(zhí)行過程
    • switch語句根據(jù)傳入的值進(jìn)行對(duì)比, 匹配case中的值, 就執(zhí)行case中的代碼
    • 沒有匹配值, 就執(zhí)行default里的代碼
  • switch性能比if高, 但if使用頻率在開發(fā)中用的多

for循環(huán)

//格式
for (初始語句; 循環(huán)判斷語句; 末尾語句 ){
    循環(huán)體 (一段代碼)
}
  • 初始語句: 在循環(huán)之前執(zhí)行, 一般定義一個(gè)初始值為0的變量
  • 循環(huán)判斷語句: 如果條件為真, 就執(zhí)行循環(huán)體
  • 末尾語句: 循環(huán)一次之后執(zhí)行, 一般是對(duì)初始值中的變量自增或自減
  • 循環(huán)體: 反復(fù)執(zhí)行的一段代碼

break和continue的區(qū)別

  • break在循環(huán)中, 立即退出循環(huán), 強(qiáng)制執(zhí)行循環(huán)后的語句(不執(zhí)行下一次循環(huán))
  • continue在循環(huán)中, 立即退出循環(huán)(continue后的語句都不執(zhí)行), 但是從循環(huán)的頂部繼續(xù)執(zhí)行(執(zhí)行下一次循環(huán))

while語句

while (條件){
    循環(huán)體
}

 do{
    循環(huán)體
 }while(條件);
  • while中一定要條件限制(如i++),如果沒有就是死循環(huán)
  • do..while,至少執(zhí)行一次循環(huán)(哪怕條件為假)

函數(shù)

function 函數(shù)名(參數(shù)1 ,參數(shù)2,....) {
        代碼塊
 }
  • 函數(shù)的聲明:
    • 往內(nèi)存中保存一段代碼
    • 函數(shù)命名規(guī)則和變量的命名規(guī)則一致
    • 參數(shù): 就是一個(gè)變量, 在函數(shù)生命中變量用于接收從外部傳過來的值
  • 函數(shù)的調(diào)用:
    • 函數(shù)名();
    • 就是從內(nèi)存中獲取代碼塊執(zhí)行的過程
  • 函數(shù)的參數(shù):
    • 有參數(shù)的函數(shù)叫有參函數(shù), 無參數(shù)的函數(shù)叫無參函數(shù)
    • 形參: 形式參數(shù), 函數(shù)聲明時(shí)定義的參數(shù), 形參是用來接收實(shí)參傳過來的值
    • 實(shí)參: 實(shí)際參數(shù), 函數(shù)調(diào)用時(shí)定義的參數(shù), 往里面?zhèn)鞯闹? 變量, 表達(dá)式都可以
  • 注意: 函數(shù)使用前, 需要先聲明再調(diào)用
函數(shù)的返回值
  • return的兩個(gè)作用
    • 函數(shù)返回值
    • 結(jié)束函數(shù), 不再往下執(zhí)行
  • 函數(shù)根據(jù)返回值可分為:
    • 有返回值得函數(shù), 無返回值的函數(shù)
函數(shù)的4種類型
  • 無參數(shù)無返回值函數(shù)

    function sum(){  //函數(shù)聲明
      var a=1, b=1;
      console.log(a+b);
    }
    sum();   //函數(shù)調(diào)用
    
  • 無參數(shù)有返回值函數(shù)

    function sub(){
      var a=1, b=1;
      return a-b;
    }
    console.log(sub());
    
  • 有參數(shù)無返回值函數(shù)

    function mult(a, b){
        console.log(a* b);
    }
    mult(1, 1);
    
  • 有參數(shù)有返回值函數(shù)

    function div(a, b){
        return a/b;    //不寫return, 函數(shù)調(diào)用返回undefined
    }
    console.log(div(1, 1));
    
  • 注意: 函數(shù)沒有重載, 函數(shù)名相同(接受的參數(shù)類型數(shù)量不同即可), 后定義的函數(shù)會(huì)覆蓋先定義的函數(shù), 所以函數(shù)名不能相同

函數(shù)的注意點(diǎn)
  • 有參函數(shù), 實(shí)參的個(gè)數(shù) > 形參的個(gè)數(shù), 形參會(huì)依次從左往右取實(shí)參的值
  • 有參函數(shù), 實(shí)參的個(gè)數(shù) < 形參的個(gè)數(shù), 沒有接受值得形參值為undefined, 運(yùn)行結(jié)果為NaN
  • 函數(shù)不能自己調(diào)用自己, 將造成死循環(huán)(除非有限制條件, 遞歸調(diào)用)
  • 函數(shù)名.length: 獲取形參的參數(shù)個(gè)數(shù)
  • arguments.length: 獲取實(shí)參的參數(shù)個(gè)數(shù)

全局變量 局部變量

js作用域是根據(jù)函數(shù)來劃分的, 變量存在的范圍就是作用域.

全局變量
  • 定義: js中函數(shù)外部的變量就是全局變量, 可以在任何地方使用的變量
  • 作用域: script開始標(biāo)簽到結(jié)束標(biāo)簽之間的范圍
  • 注意: 全局變量要先聲明初始化后, 才能使用
局部變量
  • 定義: 在函數(shù)內(nèi)部的變量就是局部變量
  • 作用域: 函數(shù)花括號(hào)里的范圍
  • 注意:
    • 局部變量在函數(shù)外取不到
    • 局部變量若和全局變量同名, 局部變量會(huì)屏蔽全局變量作用范圍
    • 變量取值遵循就近原則, 如果使用一個(gè)變量, 會(huì)在當(dāng)前范圍內(nèi)找, 一層一層往上找, 直到最上面也沒就報(bào)錯(cuò)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末柑潦,一起剝皮案震驚了整個(gè)濱河市壳嚎,隨后出現(xiàn)的幾起案子羽历,更是在濱河造成了極大的恐慌惫东,老刑警劉巖伴找,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愿卒,死亡現(xiàn)場離奇詭異挟纱,居然都是意外死亡鼎姊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門箍鼓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呵曹,你說我怎么就攤上這事款咖。” “怎么了奄喂?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵铐殃,是天一觀的道長。 經(jīng)常有香客問我跨新,道長富腊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任域帐,我火速辦了婚禮赘被,結(jié)果婚禮上是整,老公的妹妹穿的比我還像新娘。我一直安慰自己民假,他們只是感情好浮入,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著羊异,像睡著了一般事秀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上野舶,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天易迹,我揣著相機(jī)與錄音,去河邊找鬼平道。 笑死睹欲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的巢掺。 我是一名探鬼主播句伶,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼陆淀!你這毒婦竟也來了考余?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤轧苫,失蹤者是張志新(化名)和其女友劉穎楚堤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體含懊,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡身冬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岔乔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酥筝。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雏门,靈堂內(nèi)的尸體忽然破棺而出嘿歌,到底是詐尸還是另有隱情,我是刑警寧澤茁影,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布宙帝,位于F島的核電站,受9級(jí)特大地震影響募闲,放射性物質(zhì)發(fā)生泄漏步脓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望靴患。 院中可真熱鬧仍侥,春花似錦、人聲如沸蚁廓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽相嵌。三九已至腿时,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饭宾,已是汗流浹背批糟。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留看铆,地道東北人徽鼎。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像弹惦,于是被迫代替她去往敵國和親否淤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容