欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JavaScript的表達(dá)式與運(yùn)算符

admin
2010年12月31日 10:20 本文熱度 3251
表達(dá)式與運(yùn)算符
表達(dá)式 與數(shù)學(xué)中的定義相似,表達(dá)式是指具有一定的值的、用運(yùn)算符把常數(shù)和變量連接起來(lái)的代數(shù)式。一個(gè)表達(dá)式可以只包含一個(gè)常數(shù)或一個(gè)變量。運(yùn)算符可以是四則運(yùn)算符、關(guān)系運(yùn)算符、位運(yùn)算符、邏輯運(yùn)算符、復(fù)合運(yùn)算符。下表將這些運(yùn)算符從高優(yōu)先級(jí)到低優(yōu)先級(jí)排列:
括號(hào)(x) [x]中括號(hào)只用于指明數(shù)組下標(biāo)求反、自加、自減-x返回 x 的相反數(shù)!x返回與 x (布爾值)相反的布爾值x++x 值加 1,但仍返回原來(lái)的 x 值x--x 值減 1,但仍返回原來(lái)的 x 值 ++xx 值加 1,返回后來(lái)的 x 值--xx 值減 1,返回后來(lái)的 x 值乘、除x*y返回 x 乘以 y 的值x/y返回 x 除以 y 的值x%y返回 x 與 y 的模(x 除以y 的余數(shù))加、減x+y返回 x 加 y 的值x-y返回 x 減 y 的值關(guān)系運(yùn)算x<y x<=y
x>=y x>y當(dāng)符合條件時(shí)返回 true 值,否則返回 false 值等于、
不等于x==y當(dāng) x 等于 y 時(shí)返回 true 值,否則返回 false 值x!=y當(dāng) x 不等于 y 時(shí)返回 true 值,否則返回 false 值位與x&y當(dāng)兩個(gè)數(shù)位同時(shí)為 1 時(shí),返回的數(shù)據(jù)的當(dāng)前數(shù)位為 1,其他情況都為 0位異或x^y兩個(gè)數(shù)位中有且只有一個(gè)為 0 時(shí),返回 0,否則返回 1位或x|y兩個(gè)數(shù)位中只要有一個(gè)為 1,則返回 1;當(dāng)兩個(gè)數(shù)位都為零時(shí)才返回零位運(yùn)算符通常會(huì)被當(dāng)作邏輯運(yùn)算符來(lái)使用。它的實(shí)際運(yùn)算情況是:把兩個(gè)操作數(shù)(即 x 和 y)化成二進(jìn)制數(shù),對(duì)每個(gè)數(shù)位執(zhí)行以上所列工作,然后返回得到的新二進(jìn)制數(shù)。由于“真”值在電腦內(nèi)部(通常)是全部數(shù)位都是 1 的二進(jìn)制數(shù),而“假”值則是全部是 0 的二進(jìn)制數(shù),所以位運(yùn)算符也可以充當(dāng)邏輯運(yùn)算符。邏輯與x&&y當(dāng) x 和 y 同時(shí)為 true 時(shí)返回 true,否則返回 false邏輯或x||y當(dāng) x 和 y 任意一個(gè)為 true 時(shí)返回 true,當(dāng)兩者同時(shí)為 false 時(shí)返回 false邏輯與/或有時(shí)候被稱為“快速與/或”。這是因?yàn)楫?dāng)?shù)谝徊僮鲾?shù)(x)已經(jīng)可以決定結(jié)果,它們將不去理會(huì) y 的值。例如,false && y,因?yàn)閤 == false,不管 y 的值是什么,結(jié)果始終是 false,于是本表達(dá)式立即返回 false,而不論 y 是多少,甚至 y 可以導(dǎo)致出錯(cuò),程序也可以照樣運(yùn)行下去。 條件c?x:y當(dāng)條件 c 為 true 時(shí)返回 x 的值(執(zhí)行 x 語(yǔ)句),否則返回 y 的值(執(zhí)行 y 語(yǔ)句)賦值、
復(fù)合運(yùn)算x=y把 y 的值賦給 x,返回所賦的值x+=y x-=y x*=y
x/=y x%=yx 與 y 相加/減/乘/除/求余,所得結(jié)果賦給 x,并返回 x 賦值后
語(yǔ)句
下面將開始討論 JavaScript 基本編程命令,或者叫“語(yǔ)句”。

注釋

像其他所有語(yǔ)言一樣,JavaScript 的注釋在運(yùn)行時(shí)也是被忽略的。注釋只給程序員提供消息。

JavaScript 注釋有兩種:?jiǎn)涡凶⑨尯投嘈凶⑨尅涡凶⑨層秒p反斜杠“//”表示。當(dāng)一行代碼有“//”,那么,“//”后面的部分將被忽略。而多行注釋是用“/*”和“*/”括起來(lái)的一行到多行文字。程序執(zhí)行到“/*”處,將忽略以后的所有文字,直到出現(xiàn)“*/”為止。

提示 如果你的程序需要草稿,或者需要讓別人閱讀,注釋能幫上大忙。養(yǎng)成寫注釋的習(xí)慣,能節(jié)省你和其他程序員的寶貴時(shí)間,使他們不用花費(fèi)多余的時(shí)間琢磨你的程序。在程序調(diào)試的時(shí)候,有時(shí)需要把一段代碼換成另一段,或者暫時(shí)不要一段代碼。這時(shí)最忌用 Delete 鍵,如果想要回那段代碼怎么辦?最好還是用注釋,把暫時(shí)不要的代碼“隱”去,到確定方法以后再刪除也不遲。

if 語(yǔ)句if ( <條件> ) <語(yǔ)句1> [ else <語(yǔ)句2> ];本語(yǔ)句有點(diǎn)象條件表達(dá)式“?:”:當(dāng)<條件>為真時(shí)執(zhí)行<語(yǔ)句1>,否則,如果 else 部分存在的話,就執(zhí)行<語(yǔ)句2>。與“?:”不同的是,if 只是一條語(yǔ)句,不會(huì)返回?cái)?shù)值。<條件>是布爾值,必須用小括號(hào)括起來(lái);<語(yǔ)句1>和<語(yǔ)句2>都只能是一個(gè)語(yǔ)句,欲使用多條語(yǔ)句,請(qǐng)用語(yǔ)句塊。

注意 請(qǐng)看下例:if (a == 1)
  if (b == 0) alert(a+b);
else
  alert(a-b);
本代碼企圖用縮進(jìn)的方法說(shuō)明 else 是對(duì)應(yīng) if (a == 1) 的,但是實(shí)際上,由于 else 與 if (b == 0) 最相近,本代碼不能按作者的想法運(yùn)行。正確的代碼是if (a == 1) {
  if (b == 0) alert(a+b);
} else {
  alert(a-b);
}
提示一行代碼太長(zhǎng),或者涉及到比較復(fù)雜的嵌套,可以考慮用多行文本,如上例,if (a == 1) 后面沒(méi)有立即寫上語(yǔ)句,而是換一行再繼續(xù)寫。瀏覽器不會(huì)混淆的,當(dāng)它們讀完一行,發(fā)現(xiàn)是一句未完成語(yǔ)句,它們會(huì)繼續(xù)往下讀。使用縮進(jìn)也是很好的習(xí)慣,當(dāng)一些語(yǔ)句與上面的一兩句語(yǔ)句有從屬關(guān)系時(shí),使用縮進(jìn)能使程序更易讀,方便程序員進(jìn)行編寫或修改工作。

循環(huán)體for (<變量>=<初始值>; <循環(huán)條件>; <變量累加方法>) <語(yǔ)句>;本語(yǔ)句的作用是重復(fù)執(zhí)行<語(yǔ)句>,直到<循環(huán)條件>為 false 為止。它是這樣運(yùn)作的:首先給<變量>賦<初始值>,然后*判斷<循環(huán)條件>(應(yīng)該是一個(gè)關(guān)于<變量>的條件表達(dá)式)是否成立,如果成立就執(zhí)行<語(yǔ)句>,然后按<變量累加方法>對(duì)<變量>作累加,回到“*”處重復(fù),如果不成立就退出循環(huán)。這叫做“for循環(huán)”。下面看看例子。for (i = 1; i < 10; i++) document.write(i);本語(yǔ)句先給 i 賦初始值 1,然后執(zhí)行 document.write(i)語(yǔ)句(作用是在文檔中寫 i 的值,請(qǐng)參越“對(duì)象化編程”一章);重復(fù)時(shí) i++,也就是把 i 加 1;循環(huán)直到 i<10 不滿足,也就是 i>=10 時(shí)結(jié)束。結(jié)果是在文檔中輸出了“123456789”。

和 if 語(yǔ)句一樣,<語(yǔ)句>只能是一行語(yǔ)句,如果想用多條語(yǔ)句,你需要用語(yǔ)句塊。

與其他語(yǔ)言不同,JavaScript 的 for 循環(huán)沒(méi)有規(guī)定循環(huán)變量每次循環(huán)一定要加一或減一,<變量累加方法>可以是任意的賦值表達(dá)式,如 i+=3、i*=2、i-=j 等都成立。

提示 適當(dāng)?shù)氖褂?for 循環(huán),能使 HTML 文檔中大量的有規(guī)律重復(fù)的部分簡(jiǎn)化,也就是用 for 循環(huán)重復(fù)寫一些 HTML 代碼,達(dá)到提高網(wǎng)頁(yè)下載速度的目的。不過(guò)請(qǐng)?jiān)?Netscape 中重復(fù)進(jìn)行嚴(yán)格測(cè)試,保證通過(guò)了才好把網(wǎng)頁(yè)傳上去。作者曾試過(guò)多次因?yàn)橛?for 循環(huán)向文檔重復(fù)寫 HTML 代碼而導(dǎo)致 Netscape“猝死”。IE 中絕對(duì)沒(méi)有這種事情發(fā)生,如果你的網(wǎng)也是只給 IE 看的,用多多的 for 也沒(méi)問(wèn)題。

除了 for 循環(huán),JavaScript 還提供 while 循環(huán)。while (<循環(huán)條件>) <語(yǔ)句>;比 for 循環(huán)簡(jiǎn)單,while 循環(huán)的作用是當(dāng)滿足<循環(huán)條件>時(shí)執(zhí)行<語(yǔ)句>。while 循環(huán)的累加性質(zhì)沒(méi)有 for 循環(huán)強(qiáng)。<語(yǔ)句>也只能是一條語(yǔ)句,但是一般情況下都使用語(yǔ)句塊,因?yàn)槌艘貜?fù)執(zhí)行某些語(yǔ)句之外,還需要一些能變動(dòng)<循環(huán)條件>所涉及的變量的值的語(yǔ)句,否則一但踏入此循環(huán),就會(huì)因?yàn)闂l件總是滿足而一直困在循環(huán)里面,不能出來(lái)。這種情況,我們習(xí)慣稱之為“死循環(huán)”。死循環(huán)會(huì)弄停當(dāng)時(shí)正在運(yùn)行的代碼、正在下載的文檔,和占用很大的內(nèi)存,很可能造成死機(jī),應(yīng)該盡最大的努力避免。

break 和 continue

有時(shí)候在循環(huán)體內(nèi),需要立即跳出循環(huán)或跳過(guò)循環(huán)體內(nèi)其余代碼而進(jìn)行下一次循環(huán)。break 和 continue 幫了我們大忙。

break;

本語(yǔ)句放在循環(huán)體內(nèi),作用是立即跳出循環(huán)。

continue;

本語(yǔ)句放在循環(huán)體內(nèi),作用是中止本次循環(huán),并執(zhí)行下一次循環(huán)。如果循環(huán)的條件已經(jīng)不符合,就跳出循環(huán)。

for (i = 1; i < 10; i++) {
  if (i == 3 || i == 5 || i == 8) continue;
  document.write(i);
}
輸出:124679。

switch 語(yǔ)句

如果要把某些數(shù)據(jù)分類,例如,要把學(xué)生的成績(jī)按優(yōu)、良、中、差分類,我們可能會(huì)用 if 語(yǔ)句:if (score >= 0 && score < 60) {
  result = 'fail';
} else if (score < 80) {
  result = 'pass';
} else if (score < 90) {
  result = 'good';
} else if (score <= 100) {
  result = 'excellent';
} else {
  result = 'error';
}
看起來(lái)沒(méi)有問(wèn)題,但使用太多的 if 語(yǔ)句的話,程序看起來(lái)有點(diǎn)亂。switch 語(yǔ)句就是解決這種問(wèn)題的最好方法。switch (e) {
  case r1: (注意:冒號(hào))
    ...
    [break;]
  case r2:
    ...
    [break;]
  ...
  [default:
    ...]
}
這一大段的作用是:計(jì)算 e 的值(e 為表達(dá)式),然后跟下邊“case”后的 r1、r2……比較,當(dāng)找到一個(gè)相等于 e 的值時(shí),就執(zhí)行該“case”后的語(yǔ)句,直到遇到 break 語(yǔ)句或 switch 段落結(jié)束(“}”)。如果沒(méi)有一個(gè)值與 e 匹配,那么就執(zhí)行“default:”后邊的語(yǔ)句,如果沒(méi)有 default 塊,switch 語(yǔ)句結(jié)束。

上邊的 if 段用 switch 改寫就是:switch (parseInt(score / 10)) {
  case 0:
  case 1:
  case 2:
  case 3:
  case 4:
  case 5:
    result = 'fail';
    break;
  case 6:
  case 7:
    result = 'pass';
    break;
  case 8:
    result = 'good';
    break;
  case 9:
    result = 'excellent';
    break;
  default:
    if (score == 100)
      result = 'excellent';
    else
      result = 'error';
}
其中 parseInt()方法是以后會(huì)介紹的,作用是取整。最后 default 段用的 if 語(yǔ)句,是為了不把 100 分當(dāng)錯(cuò)誤論(parseInt(100 / 10) == 10)。

該文章在 2010/12/31 10:20:05 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved