javaScrip第五天(1)

06JavaScript基礎

核心知識點

  1. 函數
    2. 函數中的參數
    2. 函數中的返回值

今日學習目標

  1. 能夠完成函數相關案例
    2. 能夠理解函數中的參數
    2. 能夠理解函數中的返回值

函數

為什么要學函數?

 1.1100之間的數字之和

什么是函數?

函數的概念

  函數: 可以封裝一段特定功能代碼,然后通過函數名調用,實現對該段代碼重復使用

函數的作用

實現代碼的重復使用。
? 對分散代碼整合(封裝)
? 重復使用

創建函數

方式一: 函數聲明及執行方式(推薦)

? 函數的聲明: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. 函數聲明提升,把函數提升到當前作用域的最上名,不包括函數的調用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248279.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248279.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248279.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

偽靜態回發

(1)自定義一個Actionlessform類,在aspx中不再使用系統提供的form 標記 創建此類并對其進行編譯之后,要在 ASP.NET Web 應用程序中使用它,應首先將其添加到 Web 應用程序的 References 文件夾中。然后,要 使…

Supercomputer 解題報告

Supercomputer 設\(f_i\)為前\(i\)個時間內必須的完成的任務個數,那么答案就是\[ \max_{i}\lceil\frac{f_i}{i}\rceil \] 現在要支持區間加和全局\(\max\) 考慮分塊,對每個塊維護一個\(tag\)表示加標記 塊內的\(\max\)則為\[ \max_i \frac{1}{i}\times t…

OCS (錯誤代碼: 0-1-492)

http://hi.baidu.com/windowserver/blog/item/dcd6b851151d062d43a75b72.html 轉載于:https://www.cnblogs.com/hubj/archive/2010/06/12/1757279.html

javaScript第五天(2)

javaScript基礎 01.知識點-函數【重點】 學習函數的目的 就是為將重復的功能代碼包裝成一個工具(盒子), 方便程序員重復調用學習函數的路徑 定義函數調用函數為了讓函數的功能更加強大, 學習函數的 參數函數的返回值 函數的使用 函數的定義及調用 函數的定義 通過 function關…

How to ignore files and directories in subversion?

Step 1 Copy the files and directories to other place. Step 2 Delete the files and directories. Step 3 Commit. Step 4 Paste the files and directories from backup place. Step 5 Commit.轉載于:https://www.cnblogs.com/mouseleo/p/10605322.html

arguments使用

只有函數才有argumentsfunction fn(){console.log(arguments);console.log(arguments.length);console.log(arguments[2]);//我們可以按照數組的方式遍歷argumentsfor (let i 0; i < arguments.length; i) {console.log(arguments[i]);}}fn(1,2,3);偽數組 并不是真正意義上…

2.0 es6中forEach以及數組操作

前言&#xff1a; 小白的js之路...... 1. 遍歷數組/集合 forEach usernameArray []; //遍歷 users.forEach((user, index) > {let username user.name;//取出用戶名添加到數組usernameArray[index] username; }) 2. 數組過濾filter()和查找find() let arr s.filter( x &…

輸出GPLT

L1-023 輸出GPLT &#xff08;20 分)給定一個長度不超過10000的、僅由英文字母構成的字符串。請將字符重新調整順序&#xff0c;按GPLTGPLT....這樣的順序輸出&#xff0c;并忽略其它字符。當然&#xff0c;四種字符&#xff08;不區分大小寫&#xff09;的個數不一定是一樣多的…

javaScript第六天(1)

JavaScript基礎 核心知識點 對象 4種創建對象的方式操作對象&#xff08;取值&#xff0c;賦值&#xff09; 今日學習目標 能夠使用對象方式保存數據能夠理解自定義構造函數如何創建對象能夠獲取對象中的值及給對象賦值 對象 思考&#xff1a; 如何通過js函數將人的信息輸…

Reversing-x64Elf-100

一道很簡單的小題 作為python小白這道題主要是學習了一點python知識...... 可以看出來 sub_4006FD 這個函數是用來判斷輸入密碼是否正確的 我們看一下它的偽代碼&#xff1a; signed __int64 __fastcall sub_4006FD(__int64 a1) {signed int i; // [rsp14h] [rbp-24h]const ch…

javaScript第六天(2)

07-javaScript基礎 ? 函數其他部分 arguments [掌握] arguments 作用? 解決當函數的形參個數不確定的時候,通過arguments獲取實參的值如何使用arguments 獲取用戶傳遞實參的值? arguments 在函數中就是用來保存實參信息的偽數組 (可以按照數組的方式去遍歷, 但是不能使用數…

論wpf的設備無關性 - 簡書

論wpf的設備無關性 - 簡書 原文:論wpf的設備無關性 - 簡書 WPF從發布之日起&#xff0c;一直將“分辨率無關(resolution independence)”作為其亮點&#xff0c;聲稱使用WPF制作的用戶界面在輕巧的Ultra-Mobile PC的屏幕上和在50英寸的電視機上都能很好地顯示。微軟之所以稱WPF…

暑期學習總結6

本周書面學習時間大概6小時&#xff0c;代碼上5小時&#xff0c;java的基礎知識已經基本都學過一遍了&#xff0c;剩下的就是要鞏固&#xff0c;進行了一些實例操作&#xff0c;過程還算滿意&#xff0c;類的運用已經掌握了很多&#xff0c;現在已經習慣了java的類定義方法&…

javaScript第七天(1)

JavaScript基礎 核心知識點 Math對象中的方法數組對象中的方法字符串中的方法 今日學習目標 能夠掌握Math對象中的相關方法能夠掌握數組對象中的push方法能夠掌握操作字符串的方法 內置對象介紹 ? JavaScript組成&#xff1a; ECMAScript | DOM | BOM ? ECMA…

ISLR學習筆記(2)線性回歸

第三章 幾種常見的線性模型 1、簡單線性回歸 Y≈β0β1X 2、多元線性回歸 Y≈β0β1X1β2X2... 3、擴展線性回歸 Y≈β0β1X1β2X2β3X1X1 克服了多元線性模型 X1X1 與 X2X2 不協同作用的假設。 4、多項式回歸 Y≈β0β1X1β2X12β3log(X1)β4√X4 轉載于:https://www.cnblog…

淺談Aho-Corasick automaton(AC自動機)

Aho-Corasick automaton是什么&#xff1f; 要學會AC自動機&#xff0c;我們必須知道什么是Trie&#xff0c;也就是字典樹。Trie樹&#xff0c;又稱單詞查找樹或鍵樹&#xff0c;是一種樹形結構&#xff0c;是一種哈希樹的變種。典型應用是用于統計和排序大量的字符串&#xff…

javaScript第七天(2)

javaScript基礎 ? 對象其他部分 [理解] 自定義構造函數創建對象[掌握] //繼續簡化 自定義構造函數 function People(uName, uAge) {this.uName uName;this.uAge uAge; } // 如何通過自定義構造函數創建對象? var zs new People(張三, 20); console.log(zs);注意事項: 自定…

數據挖掘、機器學習書籍推薦!!

強烈推薦&#xff1a;《機器學習》 (西瓜書) 入門讀物&#xff1a; 《深入淺出數據分析》 這書挺簡單的&#xff0c;基本的內容都涉及了&#xff0c;說得也比較清楚&#xff0c;最后談到了R是大加分。難易程度&#xff1a;非常易。 《啤酒與尿布》 通過案例來說事情&#xff0c…

樓蘭圖騰(權值線段樹)

在完成了分配任務之后&#xff0c;西部314來到了樓蘭古城的西部。 相傳很久以前這片土地上(比樓蘭古城還早)生活著兩個部落&#xff0c;一個部落崇拜尖刀(‘V’)&#xff0c;一個部落崇拜鐵鍬(‘∧’)&#xff0c;他們分別用V和∧的形狀來代表各自部落的圖騰。 西部314在樓蘭古…

js(Dom+Bom)第一天(1)

JavaScript-DOM&#xff08;BOM&#xff09;操作 核心知識 獲取頁面元素事件設置樣式 學習目標 能夠使用id名,標簽名等方式獲取頁面中元素能夠給標簽注冊點擊事件,并實現對應效果能夠給標簽通過js方式設置樣式 JavaScript組成 ECMASCRIPT (基礎語法) DOM&#xff08;文檔對…