javaScrip第五天(1)
生活随笔
收集整理的這篇文章主要介紹了
javaScrip第五天(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
06JavaScript基礎
核心知識點
2. 函數中的參數
2. 函數中的返回值
今日學習目標
2. 能夠理解函數中的參數
2. 能夠理解函數中的返回值
函數
為什么要學函數?
1.求 1到100之間的數字之和什么是函數?
函數的概念
函數: 可以封裝一段特定功能代碼,然后通過函數名調用,實現對該段代碼重復使用函數的作用
實現代碼的重復使用。 ? 對分散代碼整合(封裝) ? 重復使用創建函數
方式一: 函數聲明及執行方式(推薦)
? 函數的聲明:function 自定義函數名() {具體的功能代碼} 注意:1. 由于函數是用來實現某種特定功能代碼,所以一般我們設置函數名的時候,以動詞開始。2. 函數不能自己執行代碼,需要通過函數名調用實現代碼的執行? 調用函數(執行函數)函數名(); //函數的調用方式二:函數表達式(字面量)及執行方式(了解)
var fn = function () {} fn();課堂一練
1. 將比較數字大小封裝到一個函數中 2. 寫一個函數,求1-100之間所有數的和 3. 通過函數方式實現:判斷一個數字是基數還是偶數 4. 通過函數的方式實現: 在頁面中打印一個10行直角三角形 5. 格式化日期的封裝 yyyy-mm-dd hh:mm:ss函數的參數
思考: 利用函數如何計算任意兩個數字之和?形參
在 函數創建時,在小擴號中定義的變量語法: function 函數名(形參,形參,形參...) {//形參,就是一個占位符,命名規則和規范和變量一樣//函數體 }注意:1 函數也可以做為參數進行傳遞實參
實參,在函數調用時,在小擴號中所傳入的實際的數據。語法: 函數名(數據,數據,數據...); //實參,就是實際的數據課堂一練
? 求 n - m 之間的數字之和 ? 求圓的面積 (3.14 * r*r)? 求3個數中的最大值 ? 判斷一個數是奇數還是偶數 ? 求5個數的總和函數的返回值
思考: 如何在函數外面獲取到上面代碼計算出的任意兩個數之和?返回值:函數執行完后,可以把執行的結果 通過 return 語法 返回給 調用者
function add(num1,num2){ //函數體 return num1 + num2; // 注意:return 后的代碼不執行 } var resNum = add(21,6); // 調用函數,傳入 兩個實參,并通過 resNum 接收函數返回值 alert(resNum);// 27注意:1. 如果函數沒有顯示的使用 return語句 ,那么函數有默認的返回值:undefined2. 如果函數中寫了return語句,后面沒有寫任何其他內容,那么函數的返回值依然是 undefined3. 一個函數只能有一個返回值4. return 代碼執行完成后,后面的代碼不再執行5. 函數也可以作為返回值(理解)課堂一練
1.獲取數組中最大值,并返回2.將一個數組中所有偶數添加到一個新數組中返回,并計算新數組總和。3 寫一個函數,判斷是否是閏年【能被4整除且不能被100整除,或者能被400整除】課后練習
1. 寫一個函數,實現對數字數組的排序。 2. 寫一個函數,用戶輸入任意兩個數字,獲取最大值并返回 統計班級學生就業薪資,計算總薪資 和 平均薪資。統計班級學生就業薪資,計算薪資超過15000的人的個數。給一個不重復的數字數組,求最大值和最大值的在數組中的位置給一個字符串數組,將數組中的每一個數據拼接在一起,每個數據之間用 | 符合拼接。 如: ‘張三|李四|王五’給一個數字數組,該數組中有很多數字0,將不為0的數據存入到一個新的數組中函數其他部分
arguments的使用
? 思考: 1. 如果一個函數的參數個數不確定該如何獲取?2. 演示console.log()中不同個數參數的效果3. 介紹arguments對象? 通過 arguments獲取到函數參數的個數 【不確定函數到底有多少個參數】? 總結:1. 如果函數參數不確定,可以定義函數的時候不寫參數,通過arguments獲取2. 如果函數的參數確定,那么推薦定義函數的時候寫參數課堂案例:1. 求任意個數中的最大值2. 求任意個數的和匿名函數和自調用函數
? 匿名函數: 沒有函數名的函數 例如: var fn = function () {} ?總結:1. 匿名函數不能單獨使用2. 可以將匿名函數賦值給一個變量3. 可以讓匿名函數自己調用自己(自調用函數【匿名函數】)? 自調用函數: 函數封裝好,立即執行。總結:1. ( function () {} )(); ? 函數屬于一種數據類型 ? 函數作為參數 ? 函數可以為返回值函數作用域及局部變量
作用域
? 思考: 在函數內部定義的變量,在函數外部能否訪問該變量作用域: 變量或者函數可以起作用的區域◆ 全局作用域(全局變量)1,在script標簽中或者js文件中定義的變量,在任何地方都可以訪問2,在函數內部聲明變量不使用var關鍵字 (不建議使用)◆ 局部作用域(局部變量)1, 在函數內部定義的變量2, 局部變量只能在定義變量的函數中使用◆ 塊級作用域 (目前所學版本沒有,新版本語義中有塊級作用域){塊級作用域} 1. 本質上塊級作用域中的變量在外部不能訪問2. 但是在js中可以訪問塊級作用域的變量(證明js沒有塊級作用域)全局作用域(全局變量)
聲明在所有函數外部的變量,可以所有地方使用局部作用域(局部變量)
聲明在某個函數內部的變量或函數的形參,只能在函數內部使用作用域鏈
作用域鏈:當訪問一個變量時,會先從本作用域中去找這個變量,若找不到則向上一級作用域中去找,依次類推,就形成了一個作用域鏈。作用域鏈面試題
? 分析代碼執行結果var a = 1;function fn1(){var a = 2;function fn2(){console.log(a); //a的值 }fn2()}fn1();? 分析代碼執行結果function f1 () {var num = 123;function f2 () {console.log( num );}f2 ();} var num = 456;f1();代碼預解析
? 代碼在執行前會進行預解析。1. 變量聲明提升,把變量提升到當前作用域的最上面,不包括賦值2. 函數聲明提升,把函數提升到當前作用域的最上名,不包括函數的調用總結
以上是生活随笔為你收集整理的javaScrip第五天(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript随堂练习(分支,循环
- 下一篇: javaScript第五天(2)