喝下這碗雞湯
“知識就是力量。” - 弗朗西斯·培根
1.三元運算符
目標:能利用三元運算符執行滿足條件的語句
使用場景:其實是比if雙分支更簡單的寫法,可以使用三元表達式
語法:條件 ? 滿足條件的執行代碼 : 不滿足條件執行的代碼
接下來用一個小案例來展示三元運算符
<script>//1.用戶輸入let num = +prompt('請輸入一個數字:')//2.判斷輸出 小于10才補0num = num < 10 ? '0' + num : numalert(num)</script>
2.斷點調試
2.1為什么要進行斷點調試?
學習可以使用幫助更好的理解代碼運行,工作時可以更快找到BUG
2.2如何使用斷點調試?
1.按F12打開開發者工具
2.點sources一欄
3.選擇代碼文件
<script>let num = 18num = num + 1console.log(num)</script>
在console.log(num)打一個斷點,刷新頁面? num就會變成18啦 如果num加1,所以程序正確。
3.簡易ATM取款機案例
需求:用戶可以實現存錢,取錢,查看余額和退出功能
分析:
1.循環的時候,需要反復提示輸入框,所以提示框寫到循環里面
2.退出的條件是用戶輸入了4,如果是4,循環結束,不再彈窗
3.提前準備一個金額先存儲一個金額
4.取錢則是減法操作,存錢則是加法操作,查看余額則是直接顯示金額
5.輸入不同的值,可以使用switch來執行不同的操作
<body><script>//1. 開始循環//3. 準備一個總金額let money = 100while (true) {let re = +prompt(`請你選擇操作:1.存錢2.取錢3.查看余額4.退出`)//2. 如果用戶輸入的是4,退出循環 breakif (re === 4) {break}//4. 根據輸入做操作switch (re) {case 1://存錢let cun = +prompt('請輸入存款金額:')money += cunbreakcase 2:let qu = +prompt('請輸入取款金額:')money -= qubreakcase 3:alert(`您的銀行卡余額是:${money}`)break}}</script></body>
4.為什么需要函數?
函數:
function,是被設計為執行特定任務的代碼塊
函數可以把具有相同或相似邏輯的代碼“包裹”起來,通過函數調用執行這些被“包裹”的代碼邏輯,這么做的優勢是有利于精簡代碼方便復用
比如我們前面使用的 alert()、prompt()和 console.log() 都是一些is 函數,只不過已經封裝好了,我們直接使用的。
5.函數的使用
函數的語法聲明:
function 函數名() {函數體
}
函數名命名規范
1.和變量命名基本一致盡量小駝峰式命名法
2.前綴應該為動詞
3.命名建議:常用動詞約定
接下來我們來寫兩個小案例吧~
需求:
1.封裝一個函數,計算兩個數的和
function getSum() {let num1 = +prompt('請輸入第一個數字:')let num2 = +prompt('請輸入第二個數字:')console.log(num1 + num2)}getSum()
2.封裝一個函數,計算1-100之間所有數的和
<script>function getSum() {let sum = 0for (let i = 1; i <= 100; i++) {sum += i}console.log(sum)}getSum()</script>
6.函數傳參
形參:聲明函數時寫在函數名右邊小括號里的叫形參(形式上的參數)
實參:調用函數時寫在函數名右邊小括號里的叫實參(實際上的參數)
形參可以理解為是在這個函數內聲明的變量(比如 num1=10)實參可以理解為是給這個變量賦值
7.函數的返回值
為什么需要返回值的?其實我們可以理解為當我用洗衣機洗衣服的時候,洗完衣服(函數執行完畢),我們需要拿衣服(也就是返回值),也可以理解為當我們買東西的時候,我們不希望買一件就顯示多少錢,我們希望到了結算的時候才告訴我們多少錢,也就是說我們希望做到隨時可以使用返回值。
細節:?
在函數體中使用 return 關鍵字能將內部的執行結果交給函數外部使用
return 后面代碼不會再被執行,會立即結束當前函數,所以return 后面的數據不要換行寫return函數可以沒有 return,這種情況函數默認返回值為 undefined
<script>function fun() {return 20}//相當于執行 fun() 調用者 fun() = 20//console.log(fn())let re = fun()console.log(re)</script>
8.作用域
通常來說,一段程序代碼中所用到的名字并不總是有效和可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。
作用域的使用提高了程序邏輯的局部性,增強了程序的可靠性,減少了名字沖突
全局作用域
全局有效
作用于所有代碼執行的環境(整個 script 標簽內部)或者一個獨立的 js 文件
局部作用域
局部有效
作用于函數內的代碼環境,就是局部作用域。因為跟函數有關系,所以也稱為函數作用域。
9.匿名函數
9.1函數表達式
函數表達式和具名函數的區別是,函數表達式的調用需要先聲明,再調用,具名函數可以任意位置調用。
9.2立即執行函數
10.邏輯中斷
總結
學完這部分的知識點之后,大家對js的基礎知識已經有一定的了解了,JS的基礎知識還剩下最后一篇,學完接下來就可以學習JS的API相關知識啦!開頭的雞湯你喝了嗎?喝完繼續肝!