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(隐式声明),也被看作了全局变量了,尽管它是定义在函数之内的。

相关文章

  • JavaScript 自定义弹出窗口的实现代码

    JavaScript 自定义弹出窗口的实现代码

    这篇文章主要介绍了JavaScript 自定义弹出窗口的实现代码,实现一采用html编写弹出窗口内容,实现二采用JavaScript编写弹出窗口内容,结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-09-09
  • 原生js实现下拉框功能(支持键盘事件)

    原生js实现下拉框功能(支持键盘事件)

    本文主要分享了原生js实现下拉框(支持键盘事件)功能的示例代码。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 原生JavaScript实现进度条

    原生JavaScript实现进度条

    这篇文章主要为大家详细介绍了原生JavaScript实现进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • JS处理数据四舍五入(tofixed与round的区别详解)

    JS处理数据四舍五入(tofixed与round的区别详解)

    下面小编就为大家带来一篇JS处理数据四舍五入(tofixed与round的区别详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • javascript操作select元素实例分析

    javascript操作select元素实例分析

    这篇文章主要介绍了javascript操作select元素的方法,可实现针对select元素选中元素时动态改变html元素的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • ES6新特性三: Generator(生成器)函数详解

    ES6新特性三: Generator(生成器)函数详解

    这篇文章主要介绍了ES6新特性之Generator(生成器)函数,简单分析了Generator(生成器)函数的功能、定义、调用方法并结合实例形式给出了相关使用技巧,需要的朋友可以参考下
    2017-04-04
  • js 学习笔记(三)

    js 学习笔记(三)

    JavaScript的对象基础 本篇主要讲解本地对象Array的各种方法。
    2009-12-12
  • JavaScript事件冒泡与事件捕获实例分析

    JavaScript事件冒泡与事件捕获实例分析

    这篇文章主要介绍了JavaScript事件冒泡与事件捕获,结合实例形式分析了事件冒泡、阻止冒泡以及事件捕获的相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2018-08-08
  • JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】

    JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】

    这篇文章主要介绍了JavaScript实现的仿新浪微博原生态输入字数即时检查功能,涉及javascript事件响应及字符串的遍历、转换、判断等相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • JS Date时间格式化的方法

    JS Date时间格式化的方法

    这篇文章主要介绍了JS Date时间格式化的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01

最新评论