>[danger]**作用域體現**
* 函數內部可以使用函數外部的變量
~~~
var a = 1;
function test(){
console.log(a);
}
~~~
* 函數外部無法使用函數內部用var聲明的變量
~~~
function test(){
var a = 1;
}
console.log(a); //a is not defined
~~~
* 函數調用后,可以在函數外部使用函數內部沒有用var聲明的變量
~~~
function test(){
a = 1;
}
test();
console.log(a);
~~~
* 函數內部使用函數外部變量
~~~
function test(){
var a= 1;
function test1(){
consloe.log(a); //變量a 相對 test1來說時函數外部的變量,
//所以test1函數內部可以使用變量a
}
test1();
}
test();
~~~
總結:
1. 全局變量:針對函數來說,該函數外部的所有變量都是全局變量,在函數內部沒有用var聲明的變量也是全局變量
2. 局部變量:在函數內部,用var聲明的變量就是局部變量。
>[info]**3. 函數內部,可以使用函數外部所有的變量(包括用var聲明的、包括沒有用var聲明的、包括外部函數的參數)。**
>[info]**4. 函數外部,可以使用該函數外部所有的變量,還可以使用函數內部沒有用var聲明的變量,前提是這個函數必須調用。**
- 概要
- HTML
- CSS
- PHP
- Mysqli
- Mysqli 連接查詢
- Mysqli 左外連接查詢
- Mysqli 右外連接查詢
- JavaScript
- JS 變量和常量的定義
- JS 運算符
- JS 流程控制
- JS 函數
- JS 數組
- JS數據類型
- JS 錯誤處理
- JS作用域
- JS 節點操作
- JS 遺留DOM
- JS 閉包
- JS 對象(構造函數)
- JS JSON
- JS 節點屬性操作
- JS 設置CSS樣式
- JS 獲取元素位置
- JS 事件
- JS 內置對象
- String 對象
- Date 對象
- Array 對象
- Math 對象
- Window 對象
- navigator 對象
- screen 對象
- location 對象
- Ajax
- 創建 Ajax 對象(兼容)
- AJax 對象屬性和方法
- Ajax get 五步驟
- Ajax post 六步驟
- Ajax get&post 封裝
- XML
- XML 語法&格式
- DOM 節點創建XML
- PHP 創建XML
- xmlwrite 類創建XML
- xmlReader 類解析xml
- JQuery
- JQuery 選擇器
- JQuery 事件
- JQuery 節點之間的操作
- JQuery html屬性設置
- JQuery Class屬性設置
- JQuery CSS樣式設置值
- JQuery 文本內容獲取
- JQuery 動畫特效
- JQuery 數組&對象遍歷
- JQuery 對象擴展方法
- JQuery Ajax操作
- JQuery Pjax
- JQuery Layer前端框架
- JQuery validation 插件
- ThinkPHP5
- 數據庫配置
- 基本操作
- 查詢構造器
- 查詢數據
- 增加數據
- 更新數據
- 刪除數據
- Session
- Cookie
- Linux
- 指令分類
- 文件屬性
- 文件處理命令
- 幫助命令
- 解壓縮命令
- 網絡通信命令
- 系統開關機
- Shell使用技巧
- VIM+vi 指令