• JavaScript变量作用域


    JavaScript变量作用域

    • 未用var声明的变量是全局变量,是window对象的属性
    • 使用var声明的变量是有作用域的:
    • 在函数体内部声明,则作用域为整个函数体
    • for循环语句块中无法定义属于它的局部作用域的变量,因为作用域是以函数为基本分隔单位。
    • 如果两个独立的函数各自声明了同名变量,则各自独立,互不干扰
    • 嵌套函数中,内部函数可以访问外部函数的变量,反之外部函数不能访问内部函数的变量
    • 嵌套函数中,如果内部函数和外部函数变量重名,则在内部函数中,内部函数的变量将覆盖外部函数的变量;而外部函数访问到的依然是外部函数的变量
    • 上面一条说明了:JavaScript的函数在查找变量时从自身函数定义开始,从“内”向“外”查找。
    • JavaScript会扫描整个函数体,把所有声明的变量“提升”到函数顶部;但是,并不会“提升”变量的初始化赋值

    变量空间的污染

    全局变量会绑定到window对象上,不同的JavaScript文件如果使用了相同的全局变量,或定义了相同的全局函数,则会造成命名冲突。

    • 一个方法是把自己所有的变量和函数全部绑定到一个全局变量中。[推荐]
    • 另外一个方法是增加自己独特的变量命名前缀/后缀
  • 相关阅读:
    linux使用shell执行一个Python文件
    shell编程
    mysql之通过cmd连接远程数据库
    单词辨析
    安全测试
    Linux下使用crontab执行一个shell脚本
    重新梳理Linux系统中Python环境的问题
    selenium 定位元素不稳定怎么解决?
    爬虫数据分析的前景
    Linux下部署python selenium UI自动化测试
  • 原文地址:https://www.cnblogs.com/weaming/p/5160817.html
Copyright © 2020-2023  润新知