原生JS-04

? 什么是函數:也稱為方法,是指具有特定功能的模塊
? 函數的分類:
? 從定義角度分:內置函數、自定義函數
? 內置函數:所謂內置函數就是指JS自帶的函數,不需要重寫定義,直接使用就可以alert()、prompt()、Number()、parseInt()、parseFloat()、isNaN()
? 自定義函數:就是指用戶根據實際需求自己編寫的函數
? 從參數角度分:有參函數、無參函數
? 從返回值角度分:有返回值函數、無返回值函數
? 特殊:匿名函數、遞歸函數
? 定義函數的一般格式(完整格式)
function 函數名(參數列表) {
函數體;

return  返回值;

}
? 定義函數時注意事項
? 關鍵字function必需是小寫的,且不可以省略
? 函數名的命名規則必需符合標識符的命名規則
? 參數列表:所謂參數列表就是指形參列表,需要注意的是形參列表在定義時不可以加var,另外可以有多個形參,如果有多個形參參數間需要用逗號分隔
? 如果沒有參數列表,即定義了一個無參函數,那么小括號不可以省略,且要注意小括號后面不可以加分號
? 大括號中包含的是函數的函數體,所謂函數體就是指能夠執行特定功能的語句,可以是一條,也可以是多條,如果是多條必須用大括號括起來,如果一條也沒有,那么這樣的函數我么稱之為空函數,空函數的作用就是用來在程序中占位
? 無參無返回值函數的定義格式
function 函數名() {
函數體;
}
? 無參無返回值函數的調用格式
? 格式1:函數名();
? 格式2:通過事件驅動的形式調用函數<開始標簽 onclick=”函數名()”></結束標簽>
? 格式3:通過事件驅動的形式調用函數,在<script>標簽中寫上document.getElementById(“元素的ID”).onclick = 函數名;
? 函數的好處
? 結構清晰,利用維護
? 提升程序的可操控性
? 提升代碼的復用性
? 提升內存的利用效率
? 有參函數的定義格式
function 函數名(參數1,參數2,參數3…) {
函數體;
}
? 有參函數的調用:
? 格式1:函數名(實參);
? 有參函數的注意事項
? 有參函數的參數分為實參和形參
? 形參:定義函數時所使用的參數就是形參,所謂形參其實就是用來接收具體數據的變量,話句話說形參必須是變量,形參可以有多個,參數間用逗號分隔
? 實參:調用函數時所使用的參數就是實參,所謂實參其實就是要用函數處理的具體數據,實參可以有多個,參數間需要用逗號分隔
? 形參是一個存儲空間,形參只有在函數被調用時系統參會為其分配空間,當函數運行結束后,形參所占空間會被釋放
? 形參和實參個數上理論上要求一一對應,但是在JS中這方面已經不重要了,換句話說實參和形參的個數可以不匹配
? 實參和形參在傳遞數據時是單向傳遞的,即有實參傳遞給形參,不可以有形參傳遞給實參
? 實參和形參在傳遞數據時位置是一一對應
? 有返回值函數:所謂返回值就是一個函數運行后所得到的結果,并將結果返回給調用者,那么返回回來的這個值就是返回值,注意返回值需要用return關鍵字返回,
格式為return 返回值;
? 有返回值函數的注意事項
? 函數可以有多個return,但是最終只能執行一個,因為return語句具有結束函數的功能
? return后面的返回值可以是常量、變量、表達式
? 所有函數其實都有return語句,包含無返回值函數
? 匿名函數:函數沒有函數名,格式如下
function(){
函數體
}
? 匿名函數的調用格式1,將整個函數賦值給一個變量,如何通過該變量進行函數的調用如var fn = function() {alert(“hello”);};調用時,可以用如下形式變量名(),如:fn();
? 匿名函數的調用格式2,將整個函數賦值給一個事件,通過該事件調用該函數,如document.getElementById(“元素的id”).onclick = function() {alert(“hello”);};需要注意該種形式適用于無參函數,如果是有參函數可以用下面的形式(function(num){alert(num)})(實參);
? 變量的作用域:所謂變量的作用域就是變量起作用的范圍,根據作用域的不同變量可以分為兩大類:全局變量、局部變量
? 全局變量:定義在函數外面的變量被稱為全局變量,全局變量的作用域是整個頁面
? 局部變量:定義在函數內部的變量被稱為局部變量,局部變量的作用域是定義它的函數
? 變量作用域注意事項
? 如果全局變量和局部變量同名,那么全局變量默認是被屏蔽掉的,如果要使用全局變量,那么只需要在變量名前加window.因為所有全局變量都屬于window對象
? 函數內部定義的變量,如果不加var,那么默認情況下該變量為全局變量
? 遞歸函數:函數自己調用自己

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,537評論 1 51
  • 原文地址:C語言函數調用棧(一)C語言函數調用棧(二) 0 引言 程序的執行過程可看作連續的函數調用。當一個函數執...
    小豬啊嗚閱讀 4,686評論 1 19
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,270評論 0 4
  • 男人綿綿 女人切切 哈哈!先提個醒,各路朋友,這次切不可顧名思義!不然把綿綿想成軟綿綿,把切切想成急切切,那就糟糕...
    多瑞的視線閱讀 378評論 0 0
  • 某天,和文麗一起喝酒,說到“愛滿自溢”。我對這個說法不太認同,或者說不完全認同。 如果把愛比做水,那么這水放在水杯...
    畫屏閑展閱讀 1,728評論 2 3