Javascript作用域

什么是作用域?

作用域就是一個變量在代碼中可以使用的范圍。

Javascript的作用域

  1. 用var定義的變量

當在一個函數中用var聲明一個變量,那么這個變量的作用域就是這個函數內。

也就是這個變量只能在這個函數內可以使用,函數外部不可以使用。

同樣,在這個函數內定義的函數也可以使用這個變量。

  1. 不用var定義的變量

在函數內不用var定義的變量的作用域將不限制在這個函數內。

Javascript將回溯作用域鏈,直到找到這個變量初次被定義的地方。

如果回溯到window作用域都沒有找到,這個變量將被賦予全局作用域。

函數作用域示例

函數內可以訪問函數外變量

因為該函數在這個變量的作用域內。

var message = 'hello';

var sayHello = function() {
  console.log(message);
}

sayHello(); //logs 'hello'

console.log(message); //logs 'hello'

函數外不可以訪問函數內變量

因為該變量的作用域只在函數內。

var sayHello = function(){
  var message = 'goodbye';
  console.log(message)
}

sayHello(); //logs 'goodbye'

console.log(message); // error
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容