一.什麼是作用域 作用域是指對某一變數和方法具有訪問許可權的代碼空間,Javascript的作用域只有兩種:全局作用域和本地作用域,本地作用域是按照函數來區分的(即全局變數和局部變數)) 局部變數:只有局部能夠訪問的變數 例如:1.函數內部用var定義的變數 2.for迴圈的的時候遍歷是用到的變數i ...
一.什麼是作用域
作用域是指對某一變數和方法具有訪問許可權的代碼空間,Javascript的作用域只有兩種:全局作用域和本地作用域,本地作用域是按照函數來區分的(即全局變數和局部變數))
局部變數:只有局部能夠訪問的變數
例如:1.函數內部用var定義的變數 2.for迴圈的的時候遍歷是用到的變數i
全局變數:在script標簽內的任何位置都可以調用
var num=34;//全局變數 function(){ var num2=30;//局部變數 var num3=num;//局部變數 }
但是全局變數中還有個特殊的,就是隱式全局變數:
//隱式全局變數 function fn(){ //b和c都是隱式全局變數 var a = b = c = 1; //e和f都是隱式全局變數(分號相當於換行) var d = 1;e =2;f=3; //g和i都不是隱式全局變數 var g = 1,h= 2,i=3; } fn();
說白了就是,在函數裡面,就看他是否帶了var聲明,如果沒有帶var聲明的話,那麼它就是全局變數,不過這種方法不推薦使用