当前位置: 首页 > article >正文

变量的作用域练习题-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第4章-课后作业)

【案例4-3】变量的作用域练习题

一、案例描述

  1. 考核知识点

变量的作用域

  1. 练习目标
  • 掌握全局变量的概念。
  • 掌握局部变量的概念
  • 掌握块级变量的概念。
  1. 需求分析

给出一个f1()函数,计算代码执行后程序输出的结果。

  1. 案例分析
  1. 效果如图4-3所示。

 

  1. 从大到小排序

  1. 具体实现步骤如下:
  1. 解析器看到放在script标签里面的代码进行预解析。
  2. 找到var、function和参数并把它们提前。
  3. 最后再按照原始说法:一行一行的执行代码。

二、案例实现                                                                           

根据上面的分析,可以通过简单的JavaScript代码来实现这一效果,具体代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>变量的作用域练习题</title>
  6.     <script>
  7.         // JavaScript中只有声明的变量会提升 如:var a
  8.         // 初始化的不会提升  如: var a = 5;
  9.         // 变量的作用域:变量在什么位置可以使用
  10.         // 全局作用域:在任何位置都可以访问     
  11.         var name = "a"; // 全局变量
  12.         console.log(name); // a
  13.        function f2 () {
  14.          console.log(name); // a
  15.        }
  16.        f2();
  17.         function f1(){
  18.             // a 局部变量
  19.             // b c 全局变量
  20.             var a;           // var a =9;初始化变量不会提升
  21.             a = b = c = 9;
  22.             console.log('a'+a); // 9
  23.             console.log('b'+b); // 9
  24.             console.log('c'+c); // 9
  25.         }
  26.         f1();
  27.         console.log('cc'+c); // 9
  28.         console.log('bb'+b); // 9
  29.         console.log('aa'+a); // a is not defined
  30.     </script>
  31. </head>
  32. <body>
  33. </body>
  34. </html>

运行代码,打开谷歌浏览器,按“F12”在控制面板“Console”查看即可得到图4-3所示的效果。


http://www.kler.cn/a/6676.html

相关文章:

  • 高性能、并发安全的 Go 嵌入式缓存库 如何使用?
  • 鲍厚霖:引领AI广告创新,搭建中美合作桥梁
  • pytest全局配置文件pytest.ini
  • 深入理解 Entity、VO、QO、DTO 的区别及其在 MVC 架构中的应用
  • SUN的J2EE与微软的DNA
  • Autodl转发端口,在本地机器上运行Autodl服务器中的ipynb文件
  • Java判断请求是来自手机端还是PC端
  • select @@basedir;
  • pytorch中torch.cat() 和paddle中的paddle.concat()函数用法
  • CAD命令行怎么恢复到初始状态?CAD命令行窗口恢复步骤
  • IDEA 2023.1 正式发布,新特性简介
  • 【MySQL高级篇】 第10章_索引优化与查询优化
  • 【面试】业务中台是什么?
  • 3C认证是什么意思
  • 一刷代码随想录总结
  • 【ssl认证、证书】Wireshark抓包分析
  • Android系统启动过程小结
  • ChatGPT惨遭围剿?多国封杀、近万人联名抵制……
  • 【Unity编辑器扩展】语言国际化工具,生成多语言Excel自动翻译并导出多语言表
  • 如何使用LaTeX中的命令【博文生成:ChatGPT 3.5】
  • SpringBoot - 集成RestTemplate模板(二) - GET请求
  • 如何恢复回收站被清空的文件
  • Troubleshooting 专题 - 问正确的问题 得到正确的答案
  • fastDDS之Domain
  • 聊聊MyBatis缓存机制(一)
  • java this