首页 > 编程语言 >HarmonyOs DevEco Studio小技巧18--JavaScript 变量声明与作用域

HarmonyOs DevEco Studio小技巧18--JavaScript 变量声明与作用域

时间:2024-09-21 09:21:21浏览次数:12  
标签:const 变量 DevEco 作用域 -- let console 声明

在 JavaScript 中,变量声明和作用域是非常重要的概念。

变量声明

  1. var:使用 var 声明的变量,其作用域在函数内,如果在函数外声明,则为全局变量。存在变量提升现象,即在变量声明之前使用该变量不会报错,但值为 undefined
   function example() {
     console.log(a); // undefined
     var a = 10;
   }
  1. let:使用 let 声明的变量,具有块级作用域,即只在其所在的代码块({})内有效。不存在变量提升。
   {
     let b = 20;
   }
   console.log(b); // 报错,b 未定义
  1. const:用于声明常量,其值不能被重新赋值。具有与 let 相同的块级作用域,不存在变量提升。
   const c = 30;
   c = 40; // 报错,不能重新赋值

作用域

  1. 全局作用域:在函数外部声明的变量具有全局作用域,可以在整个程序中访问。
  2. 函数作用域:在函数内部使用 var 声明的变量具有函数作用域,只能在函数内部访问。
  3. 块级作用域:使用 let 和 const 声明的变量具有块级作用域,即在 if 语句、for 循环、while 循环等代码块中声明的变量,只在该代码块及其子代码块中有效。
// 全局变量
var globalVar = 'global';
 
// 局部作用域中的变量
function localScopeExample() {
  var localVar = 'local';
 
  // 局部作用域内可以访问这些变量
  console.log(localVar); // 输出: 'local'
  console.log(globalVar); // 输出: 'global'
 
  // 使用let声明的块级作用域变量
  let blockScopedVar = 'block';
 
  // 块级作用域内可以访问这个变量
  if (true) {
    console.log(blockScopedVar); // 输出: 'block'
  }
 
  // 使用const声明的只读变量
  const constantValue = 'constant';
 
  // 常量的值不能改变
  // 下面的代码会导致运行时错误
  // constantValue = 'other value';
}
 
// 局部作用域外不能访问块级作用域变量
// console.log(blockScopedVar); // 错误: blockScopedVar is not defined
 
// 调用函数以演示局部作用域
localScopeExample();

这段代码演示了如何在JavaScript中声明变量,包括全局变量、局部变量、块级作用域变量和常量。同时,它还展示了如何在不同的作用域内访问这些变量,并且说明了如何正确使用const关键字声明不可变的变量。

标签:const,变量,DevEco,作用域,--,let,console,声明
From: https://blog.csdn.net/hqy1989/article/details/142410758

相关文章

  • 59.【C语言】内存函数(memmove函数)
    2.memove函数*简单使用memove:memorymovecplusplus的介绍点我跳转对比第59篇的memcpy函数对比memmcpy函数的介绍如下区别:部分翻译memmove多了:Copyingtakesplaceasifanintermediatebufferwereused(复制就像中间的缓存区使用一样),allowingthedestinati......
  • Netty笔记09-网络协议设计与解析
    文章目录前言一、协议设计1.数据格式2.消息长度3.编码方式4.错误处理5.安全性二、协议解析1.消息分隔2.粘包与半包处理3.校验机制三、为什么需要协议?四、redis协议五、HTTP协议六、自定义协议要素编解码器......
  • C语言定时器编程深入研究
    定时器是操作系统提供的用于计时的功能之一,常用于控制程序中的延时操作或周期性任务。本篇文章将详细介绍如何使用C语言处理定时器,包括基本的定时器设置方法、自定义定时器处理函数以及一些高级主题。1.引言定时器是操作系统向进程提供的一个用于计时的功能。在C语言中,......
  • 史上最全Python图像识别:从基础到高级的全方位指南
    一、引言图像识别是计算机视觉的核心任务之一,它涉及图像的预处理、特征提取、分类等多个步骤。Python凭借其丰富的第三方库支持和简洁的语法,成为了图像识别领域的重要工具。本文将详细介绍如何使用Python进行图像识别,从基本概念到实际应用案例。二、基础知识2.1Python......
  • 嵌入式硬件基础知识
    一、嵌入式系统的定义与特点定义:嵌入式系统是一种专为特定应用而设计的计算机系统,它通常被嵌入到更大的设备或系统中,作为这些设备或系统的一部分来执行预设的任务。与通用计算机相比,嵌入式系统具有更高的专用性、更低的功耗、更小的体积以及更强的实时性等特点。特点:专用性:......
  • Python的串口通信库
    一、串口通信基础1.1串口通信概述串口通信(SerialCommunication),也称为串行通信,是一种将数据位按顺序一位一位地传输的通信方式。与并行通信相比,串口通信在传输速度上可能稍逊一筹,但其具有传输线少、成本低、易于实现远距离通信等优点,因此广泛应用于各种嵌入式系统、仪器仪表......
  • MySQL数据库的备份与恢复
    MySQL数据库的备份与恢复在现代信息时代,数据已成为企业和个人的重要资产,数据的安全性和可恢复性直接影响到业务的连续性和稳定性。MySQL作为广泛使用的关系型数据库管理系统,其数据的备份与恢复显得尤为重要。本文将详细探讨MySQL数据库的备份与恢复策略,包括备份的重要性、......
  • elasticsearch实战应用
    Elasticsearch是一个基于Lucene的分布式、实时全文搜索引擎,广泛应用于日志收集和可视化、数据分析以及大规模数据检索等领域。其强大的搜索和分析能力,使得Elasticsearch成为许多企业和开发者在处理大规模数据时的首选工具。以下将从Elasticsearch的实战应用、应用场景、性能......
  • 直播短视频源码,延迟任务的解决方法
    直播短视频源码,延迟任务的解决方法在直播短视频源码中,我们有时候会遇到这样的场景,比如下单之后超过30分钟未支付自动取消订单,还有就比如过期/生效通知等等,这些场景一般有两种方法解决:第一种可以通过定时任务扫描符合条件的去执行;第二种就是提前通过消息队列发送延迟消息到期自......
  • Shiro-721—漏洞分析(CVE-2019-12422)
    目录PaddingOracleAttack原理PKCS5填充怎么爆破攻击漏洞原理源码分析漏洞复现本文基于shiro550漏洞基础上分析,建议先看上期内容:https://blog.csdn.net/weixin_60521036/article/details/142373353PaddingOracleAttack原理网上看了很多,感觉写的对我们这种对密码学不敏......