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

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

  • 相关阅读:
    Java学习笔记2.Java标识符和基本数据类型
    Java面试题库(四)
    Eclipse最常用的一些快捷键技巧
    心理学166个现象(很多,别一次看完!)[119]
    Java学习笔记1.Java发展及JDK配置
    SQL操作全集
    J2EE面试题库
    Java面试题库(一)
    Java程序员,面试必读
    Java面试题库(二)
  • 原文地址:https://www.cnblogs.com/yhyanjin/p/7078213.html
Copyright © 2011-2022 走看看