菜鳥(niǎo)學(xué)習(xí)29之 js語(yǔ)句詳解

javascript程序就是一系列可執(zhí)行語(yǔ)句的集合妖泄。(ps我看了全位置呢比js高級(jí)講解的更加系統(tǒng)和詳細(xì),所以今天就結(jié)合兩本書(shū)內(nèi)容。)

表達(dá)式語(yǔ)句

1)賦值語(yǔ)句

i = 3友多;

2)delete作為語(yǔ)句使用(作用:刪除一個(gè)對(duì)象的屬性)

delete o.x;

3.)函數(shù)調(diào)用語(yǔ)句

alert(greeting);

window.close();

復(fù)合語(yǔ)句和空語(yǔ)句

復(fù)合語(yǔ)句

javascript可以將多個(gè)語(yǔ)句聯(lián)合一起堤框,形成一個(gè)復(fù)合語(yǔ)句域滥,只需要用花括號(hào)括起來(lái)即可。

{

? ? ? ?x ?= ?Math.PI;

? ? ? cx = Math.cos(x);

? ? ? ?console.log(cos“”(㏒10)="+cx);

}

注意:?語(yǔ)句塊的結(jié)尾不需要分號(hào)蜈抓,但是塊中語(yǔ)句必須以分號(hào)結(jié)束启绰。

? ? ? ? ? ? ?塊中縮進(jìn)不是必要,但整齊的縮進(jìn)讓代碼可讀性高沟使,容易理解委可。

空語(yǔ)句

它語(yǔ)句包括0條語(yǔ)句。

例如

腊嗡;

for(i = 0着倾; i < a.length; a[i++] = 0)// empty

聲明語(yǔ)句

聲明語(yǔ)句本身什么也不做,但它有一個(gè)重要的意義叽唱,通過(guò)創(chuàng)建變量和函數(shù)屈呕,可以更好的組織代碼的語(yǔ)句。

例如棺亭,var和function虎眨,他們聲明或者定義變量或函數(shù)。

var 用來(lái)聲明一個(gè)或者多個(gè)變量

var ? i; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //一個(gè)簡(jiǎn)單的變量

var ? j = 0嗽桩; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//一個(gè)帶有初始值的變量

var ?p岳守,g; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//兩個(gè)變量

var greeting = “hello”+ name碌冶; ? ? ? ? ? ? ? ? ? ? ? //復(fù)雜的初始化變量

var ?x = 4湿痢,y = Math.cos(0.75),r扑庞,theta ? ? ?//多個(gè)變量

var ?w=2譬重, z = w+w; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 第二個(gè)變量使用了第一個(gè)變量

var ?c = 8罐氨, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //更多變量

? ? ? ? f = funciton(c){return ?c*c}臀规,

? ? ? ? ?y = f(c);

var語(yǔ)句同樣可以作為for循環(huán)或者for/in循環(huán)的一部分

for(var i = 0栅隐; i < 10塔嬉; i ++)

for(var i in ?o)

注意:如果函數(shù)定義的在函數(shù)體內(nèi),那么它定義就是一個(gè)局部變量租悄,其作用域就是這個(gè)函數(shù)谨究。

function

關(guān)鍵字function用來(lái)定義函數(shù),函數(shù)名之后的圓括號(hào)中是參數(shù)泣棋,參數(shù)直接用逗號(hào)分隔胶哲,花括號(hào)的必須的。

var f = function(x){ return x + 1外傅;}

ps:函數(shù)這部分會(huì)在函數(shù)部分重點(diǎn)詳細(xì)說(shuō)明纪吮。

條件語(yǔ)句

條件語(yǔ)句是通過(guò)判斷制定表達(dá)式的值來(lái)決定執(zhí)行還是跳過(guò)某些語(yǔ)句。

if 有條件的執(zhí)行語(yǔ)句

if 語(yǔ)句中圓括號(hào)是必須的

if(條件)

{

? ? ? ?語(yǔ)句

}

或者

if(條件) ? ? ? ? ? ? ? //如果真

{

? ? ? ? 語(yǔ)句

}

else ? ? ? ? ? ? ? ? ? ? ? // 否則

{

}

多個(gè)if 我們這么寫萎胰。

if(條件){

? ? ?執(zhí)行代碼

}

else if (條件2){

執(zhí)行代碼2

}

else if(條件3){

執(zhí)行代碼3

}

else{

之前代碼都為false 執(zhí)行代碼4

}

switch

if語(yǔ)句在程序執(zhí)行中創(chuàng)建一個(gè)分支碾盟,并且可以使用else if 來(lái)處理多條分支,當(dāng)所有分支都依賴同一個(gè)表達(dá)式時(shí)技竟,else并非最佳解決方案冰肴,而是switch。

switch(條件){

情況

}

例子

switch(n){

case1:

alert(星期一)榔组;

break熙尉;

case2:

alert(星期二);

break搓扯;

case3:

alert(星期三)检痰;

break;

……

default:

alert(周末)

break锨推;

}

解釋:如果switch條件與case都不匹配則執(zhí)行default铅歼;如果沒(méi)有這個(gè)語(yǔ)句塊公壤,則跳出switch。

注意:if else if ?else 用于判斷連線的一段椎椰;而switch則可以用于具體的某一個(gè)點(diǎn)厦幅。

循環(huán)

while

格式:while(條件){

語(yǔ)句

}

先判斷再執(zhí)行;所以花括號(hào)內(nèi)的循環(huán)體可能一次都不執(zhí)行慨飘。

do/while

格式:

do{

}while(條件)

先執(zhí)行再判斷确憨;所以代碼循環(huán)體至少被執(zhí)行一次。

for

格式:

for(初始化操作瓤的;循環(huán)判斷條件休弃;計(jì)算器變量的更新){

循環(huán)體

}

例子:

var count = 10

for (var i = 0; i < count堤瘤; i++){

? ? ? ? alert(i)玫芦;

}

// 雖然三個(gè)量可以省去,但是兩個(gè)分號(hào)卻千萬(wàn)不能省去

for(本辐;;){

aler(這是一個(gè)死循環(huán))

}

for/in

格式:

for( 變量 in 表達(dá)式){

條件

}

for/in通常用于便利對(duì)象的屬性?

跳轉(zhuǎn)

標(biāo)簽語(yǔ)句

通過(guò)給語(yǔ)句定義標(biāo)簽医增,就可以在程序的任何地方通過(guò)標(biāo)簽引用語(yǔ)句慎皱。

break和continue是javascript中唯一可以使用語(yǔ)句標(biāo)簽的語(yǔ)句。

標(biāo)簽:語(yǔ)句叶骨。

這里的標(biāo)簽必須是合法的javascript標(biāo)識(shí)符茫多,而不能是保留字。

break語(yǔ)句

單獨(dú)使用break語(yǔ)句的作用是立即退出最內(nèi)層的循環(huán)或switch語(yǔ)句忽刽,外面的循環(huán)和switch后面的語(yǔ)句繼續(xù)執(zhí)行天揖。

例子

for(var i=0;i < a.length跪帝;i++){

? ? ? ? ? ? if(a[i]==target) break今膊;

}

當(dāng)整個(gè)數(shù)組遍歷完后會(huì)正常退出循環(huán),如果找到了需要找的數(shù)組元素伞剑,則使用break語(yǔ)句退出循環(huán)斑唬。

當(dāng)break和標(biāo)簽一塊使用的時(shí)候,程序?qū)⑻D(zhuǎn)到這個(gè)標(biāo)簽所標(biāo)識(shí)的語(yǔ)句塊結(jié)束黎泣,或者直接終止這個(gè)閉合語(yǔ)句塊的執(zhí)行恕刘。break和標(biāo)簽直接不能換行。

continue語(yǔ)句

continue語(yǔ)句是轉(zhuǎn)而執(zhí)行下一次循環(huán)抒倚,continue語(yǔ)句也是退出當(dāng)前循環(huán)褐着,但退出后會(huì)從循環(huán)的頂部繼續(xù)循環(huán)。

return語(yǔ)句

return語(yǔ)句只能在函數(shù)體內(nèi)出現(xiàn)托呕,函數(shù)中的return語(yǔ)句是指定函數(shù)調(diào)用后的返回值含蓉。return語(yǔ)句經(jīng)常作為函數(shù)內(nèi)的最后一條語(yǔ)句出現(xiàn)频敛。

throw語(yǔ)句

在javascript中,當(dāng)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤或者程序使用throw語(yǔ)句是就會(huì)顯示的拋出異常谴餐。

try/catch/fianlly語(yǔ)句

try/catch/fianlly是javascript異常處理機(jī)制姻政。

? ? try{

? ? ? ? ? ? ?// 通常來(lái)講,這里的代碼會(huì)從頭執(zhí)行到尾而不產(chǎn)生任何問(wèn)題岂嗓,

? ? ? ? ? ? ?//但有時(shí)候回拋出一個(gè)異常汁展,要么是由throw語(yǔ)句直接拋出異常

? ? ? ? ? ? //要么是通過(guò)調(diào)用一個(gè)方法簡(jiǎn)介拋出異常

? ? ? ? ? }?

catch(e){

//當(dāng)且僅當(dāng)try語(yǔ)句塊拋出了異常,才會(huì)執(zhí)行這里的代碼

//這里可以通過(guò)局部變量e來(lái)獲得對(duì)Error對(duì)象或者拋出的其他值的引用

//這里的代碼塊可以基于某種原因處理這里的異常厌殉,也客戶要忽略這個(gè)異常

//還可以通過(guò)throw語(yǔ)句重新拋出異常

}

finally{

// 不管try語(yǔ)句塊是否拋出了異常食绿,這里的邏輯總是會(huì)執(zhí)行,終止try語(yǔ)句塊的方式有:

//①正常終止公罕,執(zhí)行完語(yǔ)句塊的最后一條語(yǔ)句

//②通過(guò)break器紧,continue或者returen語(yǔ)句終止

//③拋出一個(gè)異常,異常被catch從句捕獲

//拋出一個(gè)異常楼眷,異常未被捕獲铲汪,繼續(xù)向上傳播

}

例子

try{

//要求用戶輸入一個(gè)數(shù)字

var n = Number(prompt(“請(qǐng)輸入一個(gè)正整數(shù)”,“ ”))罐柳;

//假設(shè)輸入是合法的掌腰,計(jì)算這個(gè)數(shù)的階乘

var f = factorial(n);

//現(xiàn)實(shí)結(jié)果

alert(n ?+ “张吉!=” + f)齿梁;

}

catc(ex){

//如果輸入不合法,將執(zhí)行這里的邏輯

alert(ex)肮蛹;//告訴用戶發(fā)生了什么錯(cuò)誤

}

其他類型語(yǔ)句

with語(yǔ)句

with語(yǔ)句用來(lái)臨時(shí)擴(kuò)展作用域鏈 (不建議使用)

類似這種訪問(wèn)HTML表單的元素:

document.forms[0].address.value

with(document.forms[0]){

//直接訪問(wèn)表單元素勺择,例如

name.value = "";

address.value = "";

email.value = "" ;

}

debugger語(yǔ)句

用來(lái)斷點(diǎn)調(diào)試代碼

use strict 語(yǔ)句

ps:這個(gè)語(yǔ)句我并沒(méi)有讀懂,所以就不亂寫了伦忠。

小結(jié)

囧 小結(jié)用圖片表示更好省核,可是我沒(méi)找到,所以只能假裝有圖假裝有圖片假裝有圖……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缓苛,一起剝皮案震驚了整個(gè)濱河市芳撒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌未桥,老刑警劉巖笔刹,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異冬耿,居然都是意外死亡舌菜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門亦镶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)日月,“玉大人袱瓮,你說(shuō)我怎么就攤上這事“В” “怎么了尺借?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)精拟。 經(jīng)常有香客問(wèn)我燎斩,道長(zhǎng),這世上最難降的妖魔是什么蜂绎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任栅表,我火速辦了婚禮,結(jié)果婚禮上师枣,老公的妹妹穿的比我還像新娘怪瓶。我一直安慰自己,他們只是感情好践美,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布洗贰。 她就那樣靜靜地躺著,像睡著了一般陨倡。 火紅的嫁衣襯著肌膚如雪哆姻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,337評(píng)論 1 310
  • 那天玫膀,我揣著相機(jī)與錄音,去河邊找鬼爹脾。 笑死帖旨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灵妨。 我是一名探鬼主播解阅,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼泌霍!你這毒婦竟也來(lái)了货抄?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤朱转,失蹤者是張志新(化名)和其女友劉穎蟹地,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體藤为,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怪与,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缅疟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片分别。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遍愿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出耘斩,到底是詐尸還是另有隱情沼填,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布括授,位于F島的核電站坞笙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏刽脖。R本人自食惡果不足惜羞海,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望曲管。 院中可真熱鬧却邓,春花似錦、人聲如沸院水。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)檬某。三九已至撬腾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恢恼,已是汗流浹背民傻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留场斑,地道東北人漓踢。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像漏隐,于是被迫代替她去往敵國(guó)和親喧半。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

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

  • 《ijs》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 5,192評(píng)論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法青责,類相關(guān)的語(yǔ)法挺据,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法脖隶,異常的語(yǔ)法扁耐,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,664評(píng)論 18 399
  • 個(gè)人學(xué)習(xí)批處理的初衷來(lái)源于實(shí)際工作;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求浩村,從而在測(cè)試過(guò)程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,729評(píng)論 0 11
  • 宋宋:為什么天蝎座不喜歡你做葵,因?yàn)槟汩L(zhǎng)得不好看 宋宋今天下午嗷啕大哭,原因是:給前任打電話告訴他記得取快遞心墅,沒(méi)想到前...
    打不倒的東方小胖子閱讀 398評(píng)論 15 3
  • 我在泥沼中掙扎 抓住了藤蔓 以為是上帝的指引 從此便可抵達(dá)天堂 于是努力微笑 因?yàn)橄M?冬日的陽(yáng)光也燦爛溫暖 快樂(lè)...
    漢江漁夫閱讀 172評(píng)論 2 1