JS 函式與變數

2021-09-13 12:05:22 字數 990 閱讀 3439

1、what?

指的是變數和函式的可訪問範圍,作用域分為兩類:函式作用域和全域性作用域

1)函式作用域:只在定義的函式內允許訪問變數和函式

2)全域性作用域:一經定義,在任何位置處都能訪問

2、函式作用域中的變數

在某個函式中宣告的變數,就是函式作用域中變數,也可以稱為「區域性變數」。

3、全域性作用域中的變數

一經宣告,任何位置都可以使用。宣告方式:

1)將變數宣告在最外層,所有的function之外

2)宣告變數時,不使用var關鍵字,一律是全域性變數,但有風險,因此不建議這樣使用

注意:宣告提前:js程式正式執行前,會將所有var宣告的變數以及function宣告的函式,預讀到所在作用域的頂端。但賦值還保留在原位置上。

對於變數有區域性變數和全域性變數,一般會用 var宣告變數

1、區域性變數

將函式宣告的時候宣告在某個函式內部,就是區域性函式了。在被呼叫的時候也這能在區域性區域內呼叫,超出範圍就會報錯了。

ps:區域性變數會在函式執行後就被刪除

2、全域性變數

在函式外宣告的變數是全域性變數,網頁上的所有指令碼和函式都能訪問它。

ps:全域性變數會在頁面關閉後被刪除

不經變數有分兩種,而且函式也有全域性函式和區域性函式,這兩種和變數大同小異,在函式前面使用關鍵字function

function num()
1、帶引數的函式

function num(num1,num2)
其中num1, num2是兩個引數,一般情況下會將引數作為變數的形式宣告

注意:基本資料型別的資料在做引數傳遞時,盡量不要在函式中修改,因為即使修改了,也不會影響到資料

2、帶返回值的函式

function num()
其中x就是函式的返回值

JS的變數與函式

變數 var a 定義變數a var a 123 定義變數a,並且賦值為123 js中的變數是若型別的,變數占用固定記憶體空間,因此是直接量 函式 function fn 傳參 宣告函式fn 定義式函式 即函式宣告 var a function 傳參 先定義變數a與乙個匿名函式,並將匿名函式賦值給變...

JS 變數提公升與函式提公升

在 es6 出來之前,沒有塊級作用域,只有全域性作用域 和 函式作用域。變數提公升指的是 將變數宣告提公升到它所在作用域的最開始部分。例子 console.log foo undefined var foo 變數提公升 console.log foo 變數提公升 相當於 var foo consol...

js中變數提公升與函式變數重名

var a 1 function b b console.log a 輸出結果為1 進行變數提公升之後的 var a function b a 10 return a 1 b console.log a 在函式b中先通過function關鍵字宣告了乙個a函式,相當於 var a function 這...