使用函式自呼叫實現將區域性變數轉換成全域性變數

2021-10-04 03:49:19 字數 1074 閱讀 6671

自呼叫函式或者叫立即執行函式—是乙個一次性函式,宣告的時候直接呼叫,頁面載入後, 這個自呼叫函式的**就執行完畢了。

(

function

(形參)

)(實參)

; console.

log(num)

;// 報錯

區域性變數變成全域性變數的方法: 把區域性變數給window就可以了

(

function

(win)

)(window)

; console.

log(window.num)

;//10

console.

log(num)

;//10

例項: 產生隨機數物件

(

function

(window)

// 在原型物件中新增方法

random.prototype.

getrandom

=function

(min, max)

;// 把 random物件 暴露給頂級物件window ----> 外部可以直接使用這個物件

window.random = random;

// random函式名給了window的random的屬性, 所以,它的屬性中儲存的就是random函式名

// 也就是說, window.random中儲存的是random函式的**, 要想用它來建立物件, 就應該是 變數名 = new window.random();

// 而,在外面,window是可以省略的, 所以,可以寫成 rm = new random(); ---- 使用者建立物件, 後面就可以使用rm物件呼叫這個方法了

// 要想呼叫這個函式,還需要在後面新增括號,})

(window)

;// 在外部例項化物件

var rm =

newrandom()

; console.

log(rm.

getrandom()

);

函式返回區域性變數

一般的來說,函式是可以返回區域性變數的。區域性變數的作用域只在函式內部,在函式返回後,區域性變數的記憶體已經釋放了。因此,如果函式返回的是區域性變數的值,不涉及位址,程式不會出錯。但是如果返回的是區域性變數的位址 指標 的話,程式執行後會出錯。因為函式只是把指標複製後返回了,但是指標指向的內容已經被...

python函式區域性變數

python簡單變數 不考慮類變數 分為兩類 函式內定義的區域性變數,和函式外定義的全域性變數 基本訪問規則 1.在函式內部,可以直接 讀取訪問全域性變數 注意唯讀 usr bin env python i 10 def f j i 1 讀取全域性變數i f print i d i 2.在函式內部,...

函式返回區域性變數

函式返回區域性變數 一般的來說,函式是可以返回區域性變數的。區域性變數的作用域 只在函式內部,在函式返回後,區域性變數的記憶體已經釋放了。因此,如果函式返回的是區域性變數的值,不涉及位址,程式不會出錯。但是如果返回的是區域性變數的位址 指標 的話,程式執行後會出錯。因為 函式只是把指標複製後返回了,...