0308-变量声明提前

简介: 变量会先声明后赋值 test(); function test() { console.

变量会先声明后赋值

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            test();
            function test() {
                console.log('a:',a);  // 不会报错,因为变量a提前声明了
            }
            var a = 20;
        </script>
        
        // 上面的代码等同于下面的代码
        <script type="text/javascript">
            var a;
            function test() {
                console.log('a:',a);
            }
            test();
            a = 20;
        </script>
        
    </body>
</html>

目录
相关文章
|
3天前
|
存储 JavaScript 前端开发
块级作用域和函数作用域的区别在哪些方面会对性能产生影响?
【10月更文挑战第29天】块级作用域和函数作用域在变量查找效率、内存管理、闭包、代码执行顺序以及作用域链维护等方面的区别,都会在不同程度上对性能产生影响。在实际开发中,需要根据具体的代码逻辑、应用场景和性能需求,合理地选择和运用这两种作用域,以达到最佳的性能和代码质量平衡。
|
2月前
|
存储 前端开发 JavaScript
前端基础(十二)_函数高级、全局变量和局部变量、 预解析(变量提升)、函数返回值
本文介绍了JavaScript中作用域的概念,包括全局变量和局部变量的区别,预解析机制(变量提升),以及函数返回值的使用和类型。通过具体示例讲解了变量的作用域、函数的返回值、以及如何通过return关键字从函数中返回数据。
22 1
前端基础(十二)_函数高级、全局变量和局部变量、 预解析(变量提升)、函数返回值
|
1月前
|
编译器 C语言
2.4 声明变量的4个理由
将所有变量集中声明,便于读者理解和查找,尤其当变量名具有描述性时效果更佳。若变量名不够清晰,应在注释中解释其含义,以提高代码可读性。声明变量有助于编程前规划,明确所需输入、期望输出及最佳数据表示方式,同时有助于发现潜在错误,如变量名拼写错误导致的问题。根据C99之前的规范,变量声明应置于块顶部,但C99允许按需声明,有助于避免遗漏变量赋值的情况。然而,许多编译器尚未完全支持C99标准。
39 5
|
5月前
|
JavaScript 前端开发
形参和全局变量同名时哪个优先级更高
形参和全局变量同名时哪个优先级更高
45 0
|
6月前
|
存储
LabVIEW谨慎使用局部变量和全局变量
LabVIEW谨慎使用局部变量和全局变量
52 1
|
6月前
|
存储 安全 编译器
C/C++陷阱——临时变量的产生和特性
C/C++陷阱——临时变量的产生和特性
【C++11特性篇】右值引用变量的属性会被编译器识别成左值【详解&证明&代码演示】
【C++11特性篇】右值引用变量的属性会被编译器识别成左值【详解&证明&代码演示】
|
C# 索引
C#之常量与变量排错
C#之常量与变量排错
|
C++
变量被析构函数释放的时候的注意事项
变量被析构函数释放的时候的注意事项
137 0
变量被析构函数释放的时候的注意事项
编译lua5.3.5报错:libreadline.so存在多处未定义的引用
编译lua5.3.5报错:libreadline.so存在多处未定义的引用
105 0