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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容