zoukankan      html  css  js  c++  java
  • 在JavaScript中的变量的作用域

       任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。今天我们来看看在JavaScript中的变量的两种作用域。

      全局作用域:

        在代码中任何地方都能访问到的对象拥有全局作用域;

        

     1、在最外层函数外面定义的变量拥有全局作用域
     1 //在最外层函数外面定义的变量拥有全局作用域
     2  var authorName="我的梦想";//全局变量
     3     function doSomething(){
     4         var blogName="飞往太空";//局部变量
     5         function innerSay(){
     6             alert(authorName+""+blogName);
     7         }
     8        return innerSay();
     9     }
    10     alert(authorName);  //我的梦想
    11 doSomething();   //我的梦想是飞往太空

      2、所有末定义直接赋值的变量自动声明为拥有全局作用域

    1  function doSomething(){
    2         var authorName="我的梦想";
    3         blogName="飞往太空";
    4         alert(authorName+""+blogName);
    5     }
    6     doSomething();      //我的梦想是飞往太空
    7     alert(blogName);    //飞往太空
    8     alert(authorName);  //authorName 找不到

      3、所有window对象的属性拥有全局作用域

      一般情况下,window对象的内置属性都拥有全局作用域,例如window.name、window.location、window.top等等。

      

      局部作用域

      局部作用域一般只在固定的代码片段内可访问到,最常见的例如函数内部,所有在一些地方也会看到有人把这种作用域称为函数作用域。

      

      例如:下列代码中的blogName和函数innerSay都只拥有局部作用域

    function doSomething(){
            var blogName="我的梦想";
            function innerSay(){
                alert(blogName);
            }
            innerSay();
        }
        alert(blogName); //脚本错误(blogName未找到)
        innerSay(); //脚本错误( innerSay未找到)

      此内容是通过我翻阅资料整理来的,如有不足望大神们多多补充!!!

  • 相关阅读:
    深入浅出JavaScript (一)初识
    “0”基础让你学会 GridView (一)
    VS 中PageLayout 属性设置
    ASP.NET Forms身份认证
    教务系统数据库设计 (一)
    深入浅出Javascript(三)创建自定义对象以及属性、方法
    .NET 中的Cache
    深入浅出JavaScript (二) 代码放置位置与执行顺序
    触发器特殊的存储过程
    ASP.NET与JavaScript轻松实现输入信息验证
  • 原文地址:https://www.cnblogs.com/yhyanjin/p/7078213.html
Copyright © 2011-2022 走看看