javascript中的作用域scope介绍

 更新时间:2010年12月28日 23:16:26   作者:  
在一般程序设计语言中,作用域是按块来划分的。即“变量定义在哪个块之内,这个块就是变量的有效范围”。
而在javascript中,变量的作用域是按函数来划分的——变量在某个函数范围内有效。比如:
复制代码 代码如下:

var f = false;
if(true) { var f = true; } //此时f位于if内,也就是块内,等价于还是全局范围内
alert(f) //所以,结果为true


再如下例:
复制代码 代码如下:

var f = false;
function test() {
  var f = true; //这是函数内定义的变量,只在函数内部有效,函数执行完毕后,该变量将被释放
}
test();
alert(f) //结果为false,并没有因为test()的执行而改变



再有,在javascript中声明的全局变量都可以看作是window对象的一个属性,比如:
复制代码 代码如下:

var test = "this is a test";
alert(window.test == test) //结果为true

这正好验证了上边所说的全局变量也是window对象的属性

最后,我们来看
[code]
function test() {
  f = false;
}
test();
alert(f) //结果为false
[html]

那么,如果在声明变量时,如果不添加var(隐式声明),也被看作了全局变量了,尽管它是定义在函数之内的。

相关文章

  • JS常用排序方法实例代码解析

    JS常用排序方法实例代码解析

    这篇文章主要介绍了js常用排序方法实例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • JS上传图片前实现图片预览效果的方法

    JS上传图片前实现图片预览效果的方法

    这篇文章主要介绍了JS上传图片前实现图片预览效果的方法,涉及javascript操作图片的技巧,需要的朋友可以参考下
    2015-03-03
  • 微信二次分享报错invalid signature问题及解决方法

    微信二次分享报错invalid signature问题及解决方法

    基于微信公众号开发的h5页面(使用jssdk接口),由用户A分享给用户B,用户B再次分享这个页面时,不能成功分享。这篇文章主要介绍了微信二次分享报错invalid signature问题及解决方法,需要的朋友可以参考下
    2019-04-04
  • 基于JavaScript实现全选、不选和反选效果

    基于JavaScript实现全选、不选和反选效果

    这篇文章主要为大家详细介绍了基于JavaScript实现全选、不选和反选效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • js之如何筛选出两个数组相同的值

    js之如何筛选出两个数组相同的值

    这篇文章主要介绍了js之如何筛选出两个数组相同的值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 使用 Jest 和 Supertest 进行接口端点测试实例详解

    使用 Jest 和 Supertest 进行接口端点测试实例详解

    这篇文章主要介绍了使用 Jest 和 Supertest 进行接口端点测试,结合实例形式详细分析了使用 Jest 和 Supertest 进行接口端点测试具体原理、操作技巧与相关注意事项,需要的朋友可以参考下
    2020-04-04
  • 详解JS数组方法

    详解JS数组方法

    这篇文章主要为大家介绍了JS的数组方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • gojs实现蚂蚁线动画效果

    gojs实现蚂蚁线动画效果

    这篇文章介绍了gojs实现蚂蚁线动画效果的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • JavaScript基于inquirer封装一个控制台文件选择器

    JavaScript基于inquirer封装一个控制台文件选择器

    这篇文章主要介绍了JavaScript基于inquirer封装一个控制台文件选择器,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 前端实现Word在线预览功能详解

    前端实现Word在线预览功能详解

    这篇文章主要给大家介绍了关于前端实现Word在线预览功能的相关资料,工作中经常有时会遇到需要给用户创建word文档并实现word文档在线预览的需求,需要的朋友可以参考下
    2023-09-09

最新评论