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  }
  • 相关阅读:
    浏览器工作原理
    Linux内存性能指标、CPU性能指标
    性能结果分析
    javascript事件与event对象的属性
    JavaScript的内置对象和浏览器对象
    互联网协议
    DNS原理
    浏览器缓存知识归纳
    LR性能指标分析
    使用dynatrace+showslow进行前端性能测试
  • 原文地址:https://www.cnblogs.com/yangguoe/p/7943689.html
Copyright © 2011-2022 走看看