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未找到)

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

  • 相关阅读:
    什么是程序员的优秀品质?【转】
    我也来评“超级女声”五强选手
    ddd
    在window 2003 server下遇到的asp错误
    几个asp+操作日期的函数
    vb.net常用函数
    WordPress使用小记
    asp.net身份验证方式
    水晶报表如何导出为Excel文档
    ListView选中selectedItem上下移动
  • 原文地址:https://www.cnblogs.com/yhyanjin/p/7078213.html
Copyright © 2011-2022 走看看