• js全局变量和局部变量


    JS中声明全局变量主要分为显式声明或者隐式声明
     
    声明方式一:
    使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量
    声明方式二:
    没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。
    声明方式三:
    使用window全局对象来声明,全局对象的属性对应也是全局变量
    全局变量的优点:
    可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。
    缺点:
    1 占用较多的内存单元
    2 破坏了函数的封装性能 使函数对全局变量产生依赖
    3 降低代码可读性
    注意事项:
     一、Javascript的变量的scope(范围)是根据方法块来划分的(也就是说以function的一对大括号{ }来划分)切记,是function块,而for、while、if块并不是作用域的划分标准
     
    二、Javascript在执行前会先对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域
     
      三,当全局变量跟局部变量重名时,局部变量的scope会覆盖掉全局变量的scope,当离开局部变量的scope后,又重回到全局变量的scope
     
    var a = 10;
    function test() {
    console.log(a); //undefined 只声明 未赋值
    a = 100;
    console.log(a); //100
    console.log(this.a); //10
    var a;
    console.log(a); //100
     
    }
    test();
  • 相关阅读:
    web集群和分布式服务以及消息补偿机制几种方案
    什么是幂等性
    Dubbo面试常见问题
    mysql 缓存机制
    mysql面试题
    在IDEA中用Gradle构建项目时使用lombok以依赖出现出错
    jdbcType与javaType的对应关系
    通用Mapper的使用
    Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
    dubbo面试题
  • 原文地址:https://www.cnblogs.com/bjyx/p/11968718.html
Copyright © 2020-2023  润新知