zoukankan      html  css  js  c++  java
  • 函数的作用域

    全局作用域(全局变量):

    1.最外层函数和在最外层函数外面定义的变量拥有全局作用域,/函数本身也是一个特殊的变量,其名字就是函数名字;

    2.未定义直接赋值的变量自动声明为拥有全局作用域;

    3.所有window对象的属性拥有全局作用域,例如:window对象的内置属性都拥有全局作用域,例如window.name、window.location、window.top等;我们也可以通过如下方式定义一个全局变量windowwindow.name=11;

    代码执行:先生成一个执行环境,再执行

    1.执行环境类似一个表格:第一行放置全局变量,第二行放置局部变量;
    2.变量搜索机制:先搜索局部变量,如果没找到,搜索全部变量;
    题目:

    1  var v = "hello";
    2     function test (){
    3         console.log(v);
    4         var v = "world";
    5     }

    这行代码的执行结果:undefined;

    这段代码说明了两个问题,
    第一,function作用域里的变量v遮盖了上层作用域变量v。
    第二,在function作用域内,变量v的声明被提升了。所以最初的代码相当于:

    1 var v = "hello";
    2   function test (){
    3    var v; //声明一个变量 声明提升,但是不会被赋值
    4       console.log(v);
    5      v = "world";
    6  }
  • 相关阅读:
    正则表达式预:
    cookie 二:
    Javascript之运动框架2
    cookie预:
    Javascript之链式运动框架1
    基于Azure的软件部署和开发系列沙龙
    在Docker中安装.NET Core(使用命令行工具)
    Xshell 无法连接虚拟机中的ubuntu的问题
    springboot09-redis
    springboot08-jpa-mysql
  • 原文地址:https://www.cnblogs.com/yangguoe/p/7943689.html
Copyright © 2011-2022 走看看