zoukankan      html  css  js  c++  java
  • js作用域

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

    1、全局作用域:

    在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:

      (1)最外层函数和在最外层函数外面定义的变量拥有全局作用域,例如:

    var authorName="";
    function doSomething(){
        var blogName="";
        function innerSay(){
            alert(blogName);
        }
        innerSay();
    }
    alert(authorName);     //minoz
    alert(blogName);     //not defined
    doSomething();    //minozMin
    innerSay();     //not defined

      (2)所有末定义直接赋值的变量自动声明为拥有全局作用域,例如:

    function doSomething(){
        var authorName="minoz";
        blogName="minozMin";
        alert(authorName);
    }
    doSomething();     //minoz
    alert(blogName);     //minozMin
    alert(authorName);     //not defined

        变量blogName拥有全局作用域,而authorName在函数外部无法访问到。

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

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

    2、局部作用域:

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

    function doSomething(){
        var blogName="minozMin";
        function innerSay(){
            alert(blogName);
        }
        innerSay();
    }
    alert(blogName);     //not defined
    innerSay();     //not defined
  • 相关阅读:
    django-02框架-配置、静态文件和路由
    django-01框架-工程搭建
    python虚拟环境安装
    linux推送文件到另一台主机
    python2问题收集
    python diff json方法
    Linux expect详解
    python scp到远端机器
    shell远程执行命令(命令行与脚本)
    git操作
  • 原文地址:https://www.cnblogs.com/minozMin/p/8022869.html
Copyright © 2011-2022 走看看