5 函式 宣告提前 作用域及函式引數

2022-08-15 11:45:08 字數 1477 閱讀 6150

(一)概念及好處

1、函式就是把特定功能的**抽取出並進行封裝,用來重複執行一些功能。

2、使用函式的好處:

(1)函式可以重複某一部分**(通過函式名呼叫)

(2)使程式變得更簡短而清晰

(3)有利於程式維護

(二)如何宣告函式

1. function關鍵字宣告

function 函式名(形參)
2. 賦值式

var 函式名 = function(形參)
3. 建構函式,不常用 ==> new function();

(三)呼叫函式

1. 手動執行:函式名()

2. 事件驅動

(1)[onclick="函式名()"]

(2) ele.onclick = 函式名

(3)ele.onclick = function(){}

(四) 函式的分類

1.自定義函式,宣告函式

2.匿名函式 function(){}

3.內建函式

(一)在js**執行之前,會將所有的宣告提公升到當前作用域的最頂端

(二)按照**的執行順序,往下執行**

(1) 備註:js**一旦報錯,下面的**都終止執行了。

(2) 若使用賦值式宣告函式,在函式賦值之前使用函式,會報錯 ** is not a function。因為宣告提前還沒賦值,所以值為undefined,undefined不是函式。

(3) 若使用關鍵字function宣告函式,能在函式宣告**的前面使用

1​2

案例: jian();

3function

jian()

1.概念:某個變數的使用範圍,分成全域性作用域及區域性作用域

2.分類:

(1)全域性變數:全域性作用域下宣告的變數(函式外宣告的變數)

(2)區域性變數:區域性作用域宣告的變數(函式內宣告的變數)

3.變數的訪問規則(就近原則)

(1)在函式內查詢變數a,若自己內部已經宣告該變數,那麼使用函式內的該變數

(2)若在函式內查詢不到宣告,往函式外一層查詢。若找到則使用,找不到繼續往外找

(3)直到找到全域性作用域,找到則使用,還找不到則報錯,** is not defined。

4. 作用域鏈

當函式訪問變數時,根據就近原則從內到外查詢變數,這個路徑稱為作用域鏈。
1、形參:在函式宣告時的引數(變數)

2、實參:在函式執行時的引數(值)

備註: 實參與形參的個數可以不一致。
3、arguments 函式內部隱藏的物件,類陣列,包含著所有實參的資訊

1 案例:function

sum(a,b,c)

7 sum(1,2,3);

4、利用arguments可以實現獲取到所有的實參,進行任意的操作

函式引數,作用域

def foo x,y,args,a 1,b,kwargs print x,y print args print a print b print kwargs foo 1,2,3,4,5,b 8,c 4,d 5 1 2 3,4,5 18 後定義的引數,必須被傳值 有預設值的除外 且必須按照關鍵字實參...

函式作用域及作用域鏈

變數作用域 全域性作用域 在j ascript中全域性變數的作用域比較簡單,它的作用域是全域性的,在 的任何地方都是有定義的。然而函式的引數和區域性變數只在函式體內有定義 1.函式外面定義的變數擁有全域性作用域 var n 2 function fn console.log fn 1 console...

函式 引數 變數作用域

一 函式引數 1.必須引數 必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。呼叫printme 函式,你必須傳入乙個引數,不然會出現語法錯誤 小括號內的就是引數 小括號內沒東西叫做無參,有叫有參 求任意三個數之和 在定義函式的時候小括號內寫的是變數名字,不需要賦值 在呼叫函式的時候小...