js表達式和語句


表達式

一個表達式可以產生一個值,有可能是運算、函數調用、有可能是字面量。表達式可以放在任何需要值的地方。

語句

語句可以理解為一個行為,循環語句和判斷語句就是典型的語句。一個程序有很多個語句組成,一般情況下;分割一個一個的語句

流程控制

程序的三種基本結構

順序結構

從上到下執行的代碼就是順序結構

程序默認就是由上到下順序執行的

分支結構

根據不同的情況,執行對應代碼

循環結構

循環結構:重復做一件事情

分支結構

if語句

語法結構

if (/* 條件表達式 */) {
 // 執行語句
}

if (/* 條件表達式 */){
 // 成立執行語句
} else {
 // 否則執行語句
}

if (/* 條件1 */){
 // 成立執行語句
} else if (/* 條件2 */){
 // 成立執行語句
} else if (/* 條件3 */){
 // 成立執行語句
} else {
 // 最后默認執行語句
}

案例: 求兩個數的最大數 判斷一個數是偶數還是奇數 分數轉換,把百分制轉換成ABCDE <60 E 60-70 D 70-80 C 80-90 B 90 - 100 A 作業: 判斷一個年份是閏年還是平年 閏年:能被4整除,但不能被100整除的年份 或者 能被400整除的年份 判斷一個人的年齡是否滿18歲(是否成年)

三元運算符

表達式1 ? 表達式2 : 表達式3
是對if……else語句的一種簡化寫法

案例: 是否年滿18歲 從兩個數中找最大值

switch語句

語法格式:

switch (expression) {
 case 常量1:
   語句;
   break;
 case 常量2:
   語句;
   break;
 case 常量3:
   語句;
   break;
 
 case 常量n:
   語句;
   break;
 default:
   語句;
   break;
}
break可以省略,如果省略,代碼會繼續執行下一個case
switch 語句在比較值時使用的是全等操作符, 因此不會發生類型轉換(例如,字符串'10' 不等於數值 10)

案例: 顯示星期幾 素質教育(把分數變成ABCDE)千萬不要寫100個case喲

布爾類型的隱式轉換

流程控制語句會把后面的值隱式轉換成布爾類型

轉換為true   非空字符串  非0數字  true 任何對象
轉換成false 空字符串 0 false null undefined
// 結果是什么?
var a = !!'123';

 

案例

var message;
// 會自動把message轉換成false
if (message) {    
 // todo...
}

 

循環結構

在javascript中,循環語句有三種,while、do..while、for循環。

while語句

基本語法:

// 當循環條件為true時,執行循環體,
// 當循環條件為false時,結束循環。
while (循環條件) {
 //循環體
}

代碼示例:

// 計算1-100之間所有數的和
// 初始化變量
var i = 1;
var sum = 0;
// 判斷條件
while (i <= 100) {
 // 循環體
 sum += i;
 // 自增
 i++;
}
console.log(sum);

案例: 打印100以內 7的倍數 打印100以內所有偶數 打印100以內所有偶數的和 作業: 打印100以內的奇數 打印100以內的奇數的和

do...while語句

do..while循環和while循環非常像,二者經常可以相互替代,但是do..while的特點是不管條件成不成立,都會執行一次。

基礎語法:

do {
 // 循環體;
} while (循環條件);

代碼示例:

// 初始化變量
var i = 1;
var sum = 0;
do {
 sum += i;//循環體
 i++;//自增
} while (i <= 100);//循環條件

案例:

求100以內所有3的倍數的和
使用do-while循環:輸出詢問“我愛你,嫁給我吧?”,選擇“你喜歡我嗎?(y/n):",如果輸入為y則打印”我們形影不離“,若輸入為n,則繼續詢問

for語句

while和do...while一般用來解決無法確認次數的循環。for循環一般在循環次數確定的時候比較方便

for循環語法:

// for循環的表達式之間用的是;號分隔的,千萬不要寫成,
for (初始化表達式1; 判斷表達式2; 自增表達式3) {
 // 循環體4
}

執行順序:1243 ---- 243 -----243(直到循環條件變成false)

  1. 初始化表達式

  2. 判斷表達式

  3. 自增表達式

  4. 循環體

案例:

打印1-100之間所有數
求1-100之間所有數的和
求1-100之間所有數的平均值
求1-100之間所有偶數的和
同時求1-100之間所有偶數和奇數的和
打印正方形
// 使用拼字符串的方法的原因
// console.log 輸出重復內容的問題
// console.log 默認輸出內容介紹后有換行
var start = '';
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
  start += '* ';
}
start += '\n';
}
console.log(start);
打印直角三角形
var start = '';
for (var i = 0; i < 10; i++) {
for (var j = i; j < 10; j++) {
  start += '* ';
}
start += '\n';
}
console.log(start);

打印9*9乘法表
var str = '';
for (var i = 1; i <= 9; i++) {
for (var j = i; j <=9; j++) {
  str += i + ' * ' + j + ' = ' + i * j + '\t';
}
str += '\n';
}
console.log(str);

 

continue和break

break:立即跳出整個循環,即循環結束,開始執行循環后面的內容(直接跳到大括號)

continue:立即跳出當前循環,繼續下一次循環(跳到i++的地方)

調試

  • 過去調試JavaScript的方式

    • alert()

    • console.log()

  • 斷點調試

斷點調試是指自己在程序的某一行設置一個斷點,調試時,程序運行到這一行就會停住,然后你可以一步一步往下調試,調試過程中可以看各個變量當前的值,出錯的話,調試到出錯的代碼行即顯示錯誤,停下。

  • 調試步驟

瀏覽器中按F12-->sources-->找到需要調試的文件-->在程序的某一行設置斷點
  • 調試中的相關操作

Watch: 監視,通過watch可以監視變量的值的變化,非常的常用。
F10: 程序單步執行,讓程序一行一行的執行,這個時候,觀察watch中變量的值的變化。
F8:跳到下一個斷點處,如果后面沒有斷點了,則程序執行結束。

tips: 監視變量,不要監視表達式,因為監視了表達式,那么這個表達式也會執行。

  1. 代碼調試的能力非常重要,只有學會了代碼調試,才能學會自己解決bug的能力。初學者不要覺得調試代碼麻煩就不去調試,知識點花點功夫肯定學的會,但是代碼調試這個東西,自己不去練,永遠都學不會。

  2. 今天學的代碼調試非常的簡單,只要求同學們記住代碼調試的這幾個按鈕的作用即可,后面還會學到很多的代碼調試技巧。

  3.  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM