javascript
作用域和作用域链 —javascript面向对象高级
# 作用域和作用域鏈 #
??## 1.作用域 ##
?????定義:函數聲明時,會確定當前函數的作用域,所謂作用域就是作用的范圍(地盤)
????
??全局作用域:
???????????a. window是頂層對象,是一切函數,變量,對象的終點,
???????????b. 所以在全局范圍內定義的函數或變量,它都是屬于window對象的屬性或方法。
???????????c. 其作用域范圍是全局,任何地方均能調用。
??局部作用域:
??????????a. 函數聲明時,函數內部的作用域就是局部作用域,
??????????b. 在函數內部通過var 聲明的變量 和 聲明式的函數均是該函數的私有變量或函數,
??????????c. 一般情況下,函數外部不能訪問函數內部的私有變量或函數
??作用域鏈:
??????????a.函數內部調用某個變量的時候,會在當前作用域中查找該變量是否被聲明
??????????b.如果沒有被聲明,就會去其上一層作用域中查找
??????????c.直到查找到全局作用域,如果還是沒有,則為not define
??
??作用域和執行上下文的關系:
?????????????
?????var a = 10, b = 10;
???????function fn(x){
??????????var a = 100,c = 200;
??????????????function??bar(x){
?????????????????var a = 1000,d = 4000;
??????????????}
???????????bar(100)
???????????bar(200)
???????}
?????fn(10)
???全局作用域 : 上下文環境內保存 a = 10,b = 10
???fn作用域 : 上下文環境內保存 a = 100,x = 10 ,c = 200
???bar作用域:上下文環境內保存 a = 1000,d =4000,x = 100(第一次調用) 200(第二次調用)
轉載于:https://www.cnblogs.com/luowen075/p/6135839.html
總結
以上是生活随笔為你收集整理的作用域和作用域链 —javascript面向对象高级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目启动居然如此重要!
- 下一篇: 搭建SSM框架之Spring