JS-day02-4.24

1.操作符

賦值運算符

= += -= *= /= %=

案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
    var num=5;
    var num1=num+5; //10

    num1+=5; //  num1=num1+5
    console.log(num1);//15

    num1-=5; //  num1=num1-5
    console.log(num1);//10

    num1*=5; // num1=num1*5
    console.log(num1); //50

    num1/=5; // num1=num1/5
    console.log(num1); //10

    num1%=5; // num1=num1%5
    console.log(num1); //0
    </script>
</head>
<body>
   
</body>
</html>

運算符的優(yōu)先級

優(yōu)先級從高到底
    1. ()  優(yōu)先級最高
    2. 一元運算符  ++   --   !
    3. 算數(shù)運算符  先*  /  %   后 +   -
    4. 關系運算符  >   >=   <   <=
    5. 相等運算符   ==   !=    ===    !==
    6. 邏輯運算符 先&&   后||
    7. 賦值運算符

// 練習1:
4 >= 6 || '人' != '阿凡達' && !(12 * 2 == 144) && true
// 練習2:
var num = 10;
5 == num / 2 && (2 + 2 * num).toString() === '22'

2.表達式和語句

表達式

一個表達式可以產(chǎn)生一個值米辐,有可能是運算艘希、函數(shù)調(diào)用、有可能是字面量拇囊。表達式可以放在任何需要值的地方迂曲。(現(xiàn)階段我們學的表達式是由操作符和操作數(shù)組成,并且最終會返回一個值寥袭。如:5+6=11 由兩個操作數(shù)5和6 以及一個操作符+組成路捧,5+6就是一個表達式,這個表達式最終會生成一個結果 5+6最終會返回11,11就是這個表達式的結果)

語句

語句可以理解為一個行為传黄,循環(huán)語句和判斷語句就是典型的語句杰扫。一個程序有很多個語句組成,一般情況下;分割一個一個的語句(簡單來說語句就是指令膘掰,告訴計算機我要做什么)

流程控制

程序的三種基本結構

  • 順序結構

從上到下執(zhí)行的代碼就是順序結構

程序默認就是由上到下順序執(zhí)行的

  • 分支結構

根據(jù)不同的情況章姓,執(zhí)行對應代碼

  • 循環(huán)結構

循環(huán)結構:重復做一件事情

分支結構

if語句

語法結構

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

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

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

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
    //1. 求兩個數(shù)的最大數(shù)
    var num1=1, num2=2;
    if (num1>num2) {
        console.log(num1);
    }else{
        console.log(num2);
    }

    //2.判斷一個數(shù)是偶數(shù)還是奇數(shù)
    var num3=5;
    if (num3%2==0) {
        console.log(num3+'是偶數(shù)');
    }else{
        console.log(num3+'是奇數(shù)');
    }

    //3.分數(shù)轉換,把百分制轉換成ABCDE   <60  E  60-70 D  70-80 C  80-90 B  90 - 100 A
    var score=30;
    if (score>=90) {
        console.log('A');
    }else if (score>=80) {
        console.log('B');
    }else if (score>=70) {
        console.log('C');
    }else if (score>=60) {
        console.log('D');
    }else {
        console.log('青年努力吧');
    }

    //4.判斷一個年份是閏年還是平年
 //閏年:能被4整除识埋,但不能被100整除的年份 或者能被400整除的年份
    var year=2005;
    if (year%4===0 && year%100!=0 || year%400===0) {
    console.log(year+'是閏年');
    }else{
    console.log(year+'是平年');
    }

 //5. 判斷一個人的年齡是否滿18歲(是否成年)
    var age=16;
    if (age>=18) {
        console.log(age+'歲凡伊,是成年人')
    }else{
        console.log(age+'歲,是未成年人')
    }
    </script>
</head>
<body>
   
</body>
</html>

三元運算符

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

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
    //1.是否年滿18歲
    age=15;
    age>=18?console.log(age+'歲窒舟,是成年人'):console.log(age+'歲系忙,是未成年人');
    //2.從兩個數(shù)中找最大值
    var n1=2, n2=3;
    n1>n2?console.log(n1):console.log(n2);
    </script>
</head>
<body>
    
</body>
</html>

switch語句

語法格式:

switch (expression) {
  case 常量1:
    語句;
    break;
  case 常量2:
    語句;
    break;
  case 常量3:
    語句;
    break;
  …
  case 常量n:
    語句;
    break;
  default:
    語句;
    break;
}

break可以省略,如果省略惠豺,代碼會繼續(xù)執(zhí)行下一個case
switch 語句在比較值時使用的是全等操作符, 因此不會發(fā)生類型轉換(例如银还,字符串'10' 不等于數(shù)值 10)

案例:

顯示星期幾
素質(zhì)教育(把分數(shù)變成ABCDE)千萬不要寫100個case喲

布爾類型的隱式轉換

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

轉換為true   非空字符串  非0數(shù)字  true 任何對象
轉換成false  空字符串  0  false  null  undefined


// 結果是什么?
var a = !!'123';

案例

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

循環(huán)結構

在javascript中耕腾,循環(huán)語句有三種见剩,while、do..while扫俺、for循環(huán)苍苞。

while語句

基本語法:

// 當循環(huán)條件為true時,執(zhí)行循環(huán)體狼纬,
// 當循環(huán)條件為false時羹呵,結束循環(huán)。
while (循環(huán)條件) {
  //循環(huán)體
}

代碼示例:

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

案例:

打印100以內(nèi) 7的倍數(shù)
打印100以內(nèi)所有偶數(shù)
打印100以內(nèi)所有偶數(shù)的和

作業(yè):

打印100以內(nèi)的奇數(shù)
打印100以內(nèi)的奇數(shù)的和

do...while語句

do..while循環(huán)和while循環(huán)非常像疗琉,二者經(jīng)掣曰叮可以相互替代,但是do..while的特點是不管條件成不成立盈简,都會執(zhí)行一次凑耻。

基礎語法:

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

代碼示例:

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

案例:

求100以內(nèi)所有3的倍數(shù)的和
使用do-while循環(huán):輸出詢問“我愛你太示,嫁給我吧?”香浩,選擇“你喜歡我嗎类缤?(y/n):",如果輸入為y則打印”我們形影不離“邻吭,若輸入為n,則繼續(xù)詢問 

for語句

while和do...while一般用來解決無法確認次數(shù)的循環(huán)餐弱。for循環(huán)一般在循環(huán)次數(shù)確定的時候比較方便

for循環(huán)語法:

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

執(zhí)行順序:1243 ---- 243 -----243(直到循環(huán)條件變成false)

  1. 初始化表達式
  2. 判斷表達式
  3. 自增表達式
  4. 循環(huán)體

案例:

打印1-100之間所有數(shù)
求1-100之間所有數(shù)的和
求1-100之間所有數(shù)的平均值
求1-100之間所有偶數(shù)的和
同時求1-100之間所有偶數(shù)和奇數(shù)的和
打印正方形
// 使用拼字符串的方法的原因
// console.log 輸出重復內(nèi)容的問題
// console.log 默認輸出內(nèi)容介紹后有換行
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);

作業(yè):

求1-100之間所有數(shù)的乘積
求1-100之間所有奇數(shù)的和
計算1-100之間能3整除的數(shù)的和
計算1-100之間不能被7整除的數(shù)的和
// 講解思路囱晴。如果不會寫程序膏蚓,可以先把數(shù)學公式準備好
本金10000元存入銀行,年利率是千分之三畸写,每過1年驮瞧,將本金和利息相加作為新的本金。計算5年后枯芬,獲得的本金是多少剧董?
有個人想知道,一年之內(nèi)一對兔子能繁殖多少對破停?于是就筑了一道圍墻把一對兔子關在里面。已知一對兔子每個月可以生一對小兔子尉剩,而一對兔子從出生后第3個月起每月生一對小兔子真慢。假如一年內(nèi)沒有發(fā)生死亡現(xiàn)象,那么理茎,一對兔子一年內(nèi)(12個月)能繁殖成多少對黑界?(兔子的規(guī)律為數(shù)列,1皂林,1朗鸠,2,3础倍,5烛占,8,13沟启,21)

continue和break

break:立即跳出整個循環(huán)忆家,即循環(huán)結束,開始執(zhí)行循環(huán)后面的內(nèi)容(直接跳到大括號)

continue:立即跳出當前循環(huán)德迹,繼續(xù)下一次循環(huán)(跳到i++的地方)

案例:

求整數(shù)1~100的累加值芽卿,但要求碰到個位為3的數(shù)則停止累加
求整數(shù)1~100的累加值,但要求跳過所有個位為3的數(shù)

作業(yè):

求1-100之間不能被7整除的整數(shù)的和(用continue)

求200-300之間所有的奇數(shù)的和(用continue)

求200-300之間第一個能被7整數(shù)的數(shù)(break)

調(diào)試

  • 過去調(diào)試JavaScript的方式
    • alert()
    • console.log()
  • 斷點調(diào)試

斷點調(diào)試是指自己在程序的某一行設置一個斷點胳搞,調(diào)試時卸例,程序運行到這一行就會停住称杨,然后你可以一步一步往下調(diào)試,調(diào)試過程中可以看各個變量當前的值筷转,出錯的話姑原,調(diào)試到出錯的代碼行即顯示錯誤,停下旦装。

  • 調(diào)試步驟

    瀏覽器中按F12-->sources-->找到需要調(diào)試的文件-->在程序的某一行設置斷點

  • 調(diào)試中的相關操作

    Watch: 監(jiān)視页衙,通過watch可以監(jiān)視變量的值的變化,非常的常用阴绢。
    F10: 程序單步執(zhí)行店乐,讓程序一行一行的執(zhí)行,這個時候呻袭,觀察watch中變量的值的變化眨八。
    F8:跳到下一個斷點處,如果后面沒有斷點了左电,則程序執(zhí)行結束廉侧。

tips: 監(jiān)視變量,不要監(jiān)視表達式篓足,因為監(jiān)視了表達式段誊,那么這個表達式也會執(zhí)行。

  1. 代碼調(diào)試的能力非常重要栈拖,只有學會了代碼調(diào)試连舍,才能學會自己解決bug的能力。初學者不要覺得調(diào)試代碼麻煩就不去調(diào)試涩哟,知識點花點功夫肯定學的會索赏,但是代碼調(diào)試這個東西,自己不去練贴彼,永遠都學不會潜腻。
  2. 今天學的代碼調(diào)試非常的簡單,只要求同學們記住代碼調(diào)試的這幾個按鈕的作用即可器仗,后面還會學到很多的代碼調(diào)試技巧融涣。

數(shù)組

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市青灼,隨后出現(xiàn)的幾起案子暴心,更是在濱河造成了極大的恐慌,老刑警劉巖杂拨,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件专普,死亡現(xiàn)場離奇詭異,居然都是意外死亡弹沽,警方通過查閱死者的電腦和手機檀夹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門筋粗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人炸渡,你說我怎么就攤上這事娜亿。” “怎么了蚌堵?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵买决,是天一觀的道長。 經(jīng)常有香客問我吼畏,道長督赤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任泻蚊,我火速辦了婚禮躲舌,結果婚禮上,老公的妹妹穿的比我還像新娘性雄。我一直安慰自己没卸,他們只是感情好,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布秒旋。 她就那樣靜靜地躺著约计,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迁筛。 梳的紋絲不亂的頭發(fā)上病蛉,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音瑰煎,去河邊找鬼。 笑死俗孝,一個胖子當著我的面吹牛酒甸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赋铝,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼插勤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了革骨?” 一聲冷哼從身側響起农尖,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎良哲,沒想到半個月后盛卡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡筑凫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年滑沧,在試婚紗的時候發(fā)現(xiàn)自己被綠了并村。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡滓技,死狀恐怖哩牍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情令漂,我是刑警寧澤膝昆,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站叠必,受9級特大地震影響荚孵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挠唆,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一处窥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧玄组,春花似錦滔驾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至患膛,卻和暖如春摊阀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背踪蹬。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工胞此, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人跃捣。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓漱牵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親疚漆。 傳聞我的和親對象是個殘疾皇子酣胀,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

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