函式的作用域

2022-08-23 04:33:10 字數 875 閱讀 9528

函式的作用域

今天給大家分享一下函式裡面關於作用域這塊內容,它也是很重要的一塊內容哦。

首先,我先來說一說什麼是作用域。作用域就是乙個變數可以生效的範圍,乙個變數他不是在所有的地方都可以使用的,

而這個變數的使用範圍就是它的作用域。

一、作用域分為全域性作用域和區域性作用域。

1.全域性作用域:

全域性作用域是最大的作用域,在全域性作用域中定義的變數可以在任何地方使用。在乙個頁面開啟的時候,瀏覽器會自動給我們生成乙個全域性作用域,

這個作用域會一直存在,直到頁面關閉,它才被銷毀。

在這裡呢,還有一種特殊情況,就是宣告變數的時候沒有使用var,這是一種不規範的宣告。

如果乙個區域性裡定義的變數,未用var宣告,但它在全域性都可以被訪問,這樣的變數叫偽全域性變數。

2.區域性作用域

區域性作用域就是在全域性作用域下又開闢出來乙個相對較小的作用域,在區域性作用域內定義的變數只能在它所存在的區域性範圍內使用。

在js中只有函式能生成區域性作用域,其他的都不可以。每乙個函式,相當於乙個作用域。

二、在兩個作用域裡變數的區別,即全域性變數和區域性變數的區別。

1.生命週期的不同

全域性變數:生命週期和程式是同步的,程式不關閉,變數一直在;程式執行結束後,變數就被刪除了。(

(在這裡呢,還是建議大家,如果可以的話,少設計一點全域性變數,因為全域性變數過多的話,會讓程式變得更重。)

區域性變數:生命週期和函式是同步的,函式執行結束後,變數就被刪除了。

2.命名空間的不同

全域性變數的命名空間乙個頁面只有乙個。

區域性變數的命名空間是乙個作用域乙個。(可以使用匿名函式來解決區域性變數命名空間問題)

(function(){})();

例如:(function())();

函式的作用域

一,每乙個變數都是有作用域的。1,首先講一下 塊與作用域 for,if等語句還有 function,他們都有乙個特點,就是後面有一對 比如 for var i 0 i items.length i 之間有 if some express 之間有 function param1 之間有 所有 包起來的...

函式的作用域

在php中,函式的作用域來控制函式及函式中的變數在 是可見並且可用的。不同的程式語言有不同的變數作用域規則,php中的函式及函式中的變數作用域規則如下 函式的作用域是指在函式內部宣告的變數作用域是從宣告的那條語句開始到函式的末尾 全域性作用域是指在函式外部宣告的變數作用域是從那條語句開始到宣告所在的...

函式作用域

有巢狀函式的時候有return x的返回函式x的位址,沒有的則為none def f1 n1 f1 print f1中 n1 def f2 n2 f2 def f3 n3 f3 print f3中 n3 print f2中 n2 return f3 return f2 r1 f1 print r1 ...