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>

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