函式作用域

2022-01-13 15:41:12 字數 2144 閱讀 2440

★函式作用域

⑴呼叫函式時建立函式作用域,函式執行完畢以後,函式作用域銷毀

⑵每呼叫一次,函式就會建立乙個新的函式作用域,它們之間是互相獨立的

⑶在函式作用域中,可以訪問到全域性作用域的變數

在全域性作用域中無法訪問到函式作用域的變數

具體示例:

⑷當在函式作用域操作乙個變數時,它會先在自身作用域中尋找,如果有就直接使用

示例:

⑸如果沒有則向上一級作用域中尋找,直到找到全域性作用域

示例:

⑹如果全域性作用域中依然沒有找到,則會報錯 referenceerror

示例:

⑺在函式作用域也有宣告提前的特性:

使用var關鍵字宣告的變數,會在函式中所有的**執行之前被宣告

函式宣告也會在函式中所有的**執行之前執行

示例1:

示例2:

⑻在函式中,不使用var宣告的變數都會成為全域性變數

示例1:

示例2:

⑼定義形參就相當於在函式作用域中宣告了變數

示例1:

結果:彈出警示框中顯示:20

示例2:

結果:彈出警示框中顯示:undefined

函式作用域

有巢狀函式的時候有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 ...

函式作用域

匿名函式,lambda def f o if o 7 print o print list filter lambda o o 8,4,77 22,4 8 list filter f,4,77,22,4,8 列印的話會返回none 77,22 7722 8a 5deff global a 要用全域性...

函式作用域

函式作用域 name alex def foo name cql def bar print name bar foo cql return 返回乙個函式 def test1 print test1 def test print test return test1 返回乙個函式,return可以返回...