`
chengxianju
  • 浏览: 257816 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

js变量作用域

阅读更多

变量的作用范围又称为作用域,是指某变量在程序中的有效范围。根据作用域,变量可以分为全局变量和局部变量。
1  全局变量的作用域是全局性的,即在整个JavaScript程序中,全局变量处处都在。
2  而在函数内部声明的变量,只在函数内部起作用。这些变量是局部变量,作用域是局部性的;函数的参数也是局部性的,只在函数内部起作用。

        在函数内部,局部变量的优先级比同名的全局变量优先级要高;如果存在与全局变量名称相同的局部变量,或者在函数内部声明了与全局变量同名的参数,那么,该全局变量将不再起作用。如下例子:

<script language="javascript" type="text/javascript">
<!--
 var a = "我是一个全局变量";
 function check()
 {
      var a = "我是一个局部变量";
      document.write(a);
 }
 check();
//-->
</script>

输出:

我是一个局部变量

       虽然在全局作用域中可以不使用var声明变量,但在声明局部变量时,一定要使用var语句。一般情况下,函数并不知道全局作用域中定义了什么变量,也不知道这些变量的作用。如果函数使用的是全局变量,而不是是局部变量,那么就可能改变程序其他部分所依赖的全局变量的值。因此,最好在声明所有变量时都使用var语句。

       JavaScript没有块级作用域,这与php,python一样,估计脚本语言都差不多吧,和函数中声明的所有变量无论是在哪里声明的,在整个函数中都有意义。在下面代码中,变量i,j,k作用域相同,在整个函数体中都有意义。看下下面例子:

<script language="javascript" type="text/javascript">
<!--
 function check()
 {
         var i = 0;
         if(i == 0)
         {
                var j = 1;
                for(var k = 0;k < 1;k ++)
               {
                      document.write("k在循环体内的值为:" + k + "<br />");
               }
               document.write("k在循环体内的值为:" + k + "<br />");
         }
        document.write("j在if语句外的值为:" + j);
 }
 check();
//-->
</script>

输出:

k在循环体内的值为:0
k在循环体内的值为:1
j在if语句外的值为:1
分享到:
评论

相关推荐

    javascript变量作用域

    JavaScript 变量作用域详解 JavaScript 变量作用域是基于其特有的作用域链的。在 JavaScript 中,变量作用域是指变量可以被访问和修改的范围。 JavaScript 没有块级作用域,而是基于函数作用域和全局作用域的。 ...

    理解JavaScript变量作用域.pdf

    理解JavaScript变量作用域.pdf 本人还有几十本经典javascript书籍以及无数javascript资料,要的加我qq 568094881,本人网址:www.maoshanhai.com

    一道关于JavaScript变量作用域的面试题_.docx

    JavaScript变量作用域是编程语言中一个非常核心的概念,它决定了变量在何处可被访问以及其生命周期。在这道面试题中,我们看到的是如何在不同作用域下声明和使用变量,特别是与for循环相结合的情况。 首先,我们要...

    深入理解变量作用域

    本文将从JavaScript权威指南出发,深入探讨变量作用域的相关知识点,包括全局作用域、局部作用域、以及闭包等高级概念。 #### 二、全局作用域与局部作用域 1. **全局作用域** - 定义:在JavaScript中,如果一个...

    函数的全局和局部作用域和变量-作用域.html

    // 全局变量: 在script之间或者一个独立的js文件中,在全局作用域中定义的变量 全局变量。在任何位置都可以访问 // 全局作用域:在script之间或者一个独立的js文件 script之间或者一个独立的js文件里的内容区域...

    基于JavaScript的变量作用域的辨析.pdf

    基于JavaScript的变量作用域的辨析 本文探讨了JavaScript中的变量作用域问题,通过对两种变量的特性从不同角度进行分析和测试,讨论了如何控制变量作用域的有效方法。 变量作用域是JavaScript编程过程中经常遇到的...

    理解JavaScript变量作用域更轻松

    JavaScript变量作用域是编程基础中的重要概念,它决定了变量在哪些范围内可以被访问。了解变量作用域可以帮助开发者更好地管理代码中的数据,防止意外的变量冲突,从而提高代码的稳定性和可维护性。 JavaScript中...

    Javascript变量作用域详解

    ### Javascript变量作用域详解 Javascript变量作用域是编程中一个非常基础且重要的概念,理解它对于编写有效且可维护的代码至关重要。在Javascript中,变量的作用域主要分为两种:全局作用域和局部作用域。全局变量...

    浅谈Javascript变量作用域问题

    JavaScript变量作用域问题 JavaScript作为一门动态脚本语言,在变量作用域上与其他语言存在显著差异。变量的作用域(Scope)指的是变量可以被访问的代码区域,它决定了哪些部分的代码可以访问该变量。理解变量作用...

    JavaScript变量作用域及内存问题实例分析

    JavaScript变量作用域及内存问题是一个非常重要的概念,在编程过程中起着至关重要的作用。本文将对JavaScript变量作用域、内存问题以及相关的操作技巧进行深入的分析。 首先,我们需要了解变量作用域的相关知识。在...

    一道关于JavaScript变量作用域的面试题

    解题前先回顾JavaScript变量作用域的知识。变量i和j都是使用var声明的,所以它们都是函数作用域,即它们在全局作用域内都可以被访问。接下来,执行循环体时,每一次循环都会执行以下步骤: 1. 先将arr[i]的值赋给...

    JavaScript程序设计-变量作用域.pdf

    JavaScript是一种广泛用于网页和网络应用的编程语言,其核心特性之一就是变量作用域。变量作用域决定了变量在何处可以被访问以及何时会被销毁。本文将深入探讨JavaScript中的全局变量、局部变量、变量提升、词法作用...

    JavaScript程序设计变量作用域共4页.pdf.zi

    本文将深入探讨JavaScript中的变量作用域,以及它如何影响代码的运行和组织。 首先,我们来理解什么是变量作用域。在JavaScript中,变量作用域决定了变量在何处可以被访问和识别。主要有三种类型的作用域:全局作用...

    Javascript 变量作用域 两个可能会被忽略的小特性

    Javascript变量作用域是编程中非常基础且重要的一个概念,它决定了代码中变量的可访问性和生命周期。在Javascript中,变量作用域有两个可能会被忽略的小特性,即with语句和try-catch语句对变量作用域的影响,以及...

    JavaScript变量作用域_动力节点Java学院整理

    在深入理解JavaScript变量作用域的概念之前,首先我们需要了解JavaScript中变量是如何声明的。在JavaScript中,可以使用`var`关键字来声明变量,这些变量会受到作用域规则的影响。变量的作用域决定了在何处可以访问...

    不同浏览器javascript变量作用域的处理方法

    ### 不同浏览器JavaScript变量作用域的处理方法 #### 一、引言 JavaScript是一种广泛使用的脚本语言,它被设计用于网页开发,并逐渐扩展到服务器端编程和其他领域。JavaScript的作用域规则是理解其行为的关键之一,...

    JavaScript 变量作用域分析

    JavaScript 变量作用域是编程中的关键概念,它决定了变量在何处可以被访问以及它们的生命周期。在这篇文章中,我们将深入探讨JavaScript中的全局作用域、局部作用域、以及一些特殊情况,如函数内部变量的声明和对象...

Global site tag (gtag.js) - Google Analytics