官术网_书友最值得收藏!

3.2.2 關于花括號的說明

何時以及哪里使用花括號({})是重要的問題。漏掉花括號可能導致程序崩潰、一點不運行或者以預想不到的結果運行(可能是最糟糕的情況)。當遺漏開始或結束花括號時,由于你的程序將不會運行或者返回錯誤,所以你很可能就會知道這個錯誤。然而,如果遺漏一組需要的花括號,那么直到運行這個程序并且得不到預期結果時,你才能意識到存在這個問題。例3.2將為前面的例子添加一條語句,說明花括號什么時候一定要有和什么時候是可選的。

例3.2 有沒有花括號是不同的 在這個例子中,我們將把另一行代碼加入if語句。部分(a)使用花括號括起兩條輸出語句使之成為當滿足第8行測試條件時要執行的語句部分。

部分(a)

最初的頁面看起來像這樣:

當用戶為溫度錄入15時,輸出看起來像這樣:

但是,如果用戶為溫度錄入45,則不發生事情。

部分(b)不使用花括號,其后果將在輸出中顯示出來。

部分(b)

當用戶為溫度錄入15時,輸出看起來與部分(a)一樣。然而,如果用戶為溫度錄入45時,輸出是:

發生了什么事?花括號應該括起滿足測試條件時要執行的所有語句。在部分(a)中這意味著如果用戶錄入的溫度低于32,那么將執行部分(a)的第10和11行(即兩條document.write()語句)。然而,當除去花括號(如部分(b)所示)時,如果用戶錄入的溫度低于32,那么程序將執行部分(b)的第9行,即第一條document.write()語句。然后,前往執行下一行(即第10行)代碼,即第二條document.write()語句。如果錄入的溫度低于32,那么這個程序執行正確。然而當用戶錄入一個較高溫度時,那么將跳過這條if子句。若沒有花括號,將假定if子句只有一條語句,因此跳過第9行。然而,第10行不是if子句的一部分,而是下一條要執行的語句。這就是為什么不管錄入什么溫度,總是要執行第二條document.write()語句的原因。

如果你不能確定是否要用花括號括起語句,那么你最好寧愿犯過于謹慎的錯誤。在if語句中使用花括號括起一條語句不會導致程序代碼出錯,但是遺漏花括號卻能引起不想要的結果。

3.2節檢查點

3.7 定義if...子句的測試條件。

3.8 測試條件的可能值是什么?

3.9 如果把下列代碼片斷放入一個程序中并運行,而age的值是10,那么將顯示什么?

3.10 修改檢查點3.9的代碼,使得如果孩子不超過16歲,就不顯示任何信息。

3.11 修改檢查點3.9的代碼,使得年齡等于或大于16歲的孩子能夠獲得一張駕駛學習執照。

主站蜘蛛池模板: 永德县| 侯马市| 大竹县| 甘肃省| 涪陵区| 清水县| 沈丘县| 家居| 南昌县| 威远县| 金溪县| 霍城县| 乐都县| 扎兰屯市| 孝昌县| 临桂县| 湖北省| 策勒县| 秦安县| 石阡县| 育儿| 阆中市| 枣阳市| 德兴市| 余庆县| 新乡县| 宁南县| 福建省| 丹江口市| 和平县| 岳阳市| 高密市| 富阳市| 朝阳市| 肃宁县| 壤塘县| 柳江县| 五河县| 齐齐哈尔市| 瑞安市| 察雅县|