首页 > 编程语言 >【JavaScript23】使用let声明变量

【JavaScript23】使用let声明变量

时间:2023-08-07 22:55:35浏览次数:47  
标签:变量 作用域 JavaScript23 let var world 声明

前言

  • ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。
    • let 声明的变量只在 let 命令所在的代码块内有效。
    • const 声明一个只读的常量,一旦声明,常量的值就不能改变。
  • 在 ES6 之前,JavaScript 使用var声明变量只有两种作用域: 全局变量 与 函数内的局部变量。

let 声明变量作用域

  • 使用let声明的变量,首先具有块级作用域的概念,在块级代码声明的变量,外面无法引用
  • 什么是块级作用域?
    • 比如if 后面大括号的内容,for 循环大括号里面的循环体,都是块级。
    a = 10;
    if (a>0){
        let x = 'hello';  // let 声明块级变量
        console.log(x);
    }
    console.log(x);   // x is not defined

    //如果块级代码外面也有同一个名称变量,使用let互不影响
    a = 10;
    let x = 'world'
    if (a>0){
        let x = 'hello';  // let 声明块级变量
        console.log(x); // hello
    }
    console.log(x);   // world

let 和 var 不一样的地方

// 1、var 可以对同一个变量重复声明,但是let不能重复声明
// 使用 var
var x = 'hello';
var x = 'world';   
console.log(x);   // world

// 使用let
let y = 'world';
let y = 'world'; // 报错

//2、变量提升,let 声明的变量没有提升
console.log(x)  // undefined
var x = 'hello'

console.log(y)  // 报错
let y = 'world';

//3、全局作用域
//使用 var 关键字声明的全局作用域变量属于 window 对象:
//使用 let 关键字声明的全局作用域变量不属于 window 对象:
var x = "hello";
// 可以使用 window.x 访问变量

let y= "world";
// 不能使用 window.y访问变量

标签:变量,作用域,JavaScript23,let,var,world,声明
From: https://www.cnblogs.com/xwltest/p/17610274.html

相关文章

  • OGG数据同步如何屏蔽表的drop、delete及truncate操作
    适用范围源端生产库用户数据实时同步到历史归档库,只同步insert、update这类操作,所有表都不同步delete、drop、truncate操作;历史归档库保留全部数据不被修改。实施步骤1.源库与目标库创建相同普通表、分区表#创建用户jinksom、enmotech,然后创建普通表T、分区表RANGE_PART_TABCREA......
  • 微信小程序13 在请求url获取返回值后修改data变量的一个问题,es6箭头函数或外部定义变
    在之前解密电话时,我们有请求wx的apiwx.request({url:'https://api.weixin.qq.com/sns/jscode2session',data:{},success:(re)=>{//console.log('re:'+JSON.stringify(re));this.......
  • Servlet课程学习
    Servlet 最近暑假学习了servlet的技术,想一边学习一边记录下。先了解下servlet是什么?JavaServlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,您可以收集来自网页......
  • Replace bpmn-js and Let Frontend Developers Become More Familiar with Workflow B
    (背景:发在国外社区的文章,国内博客做份存档)PrefaceSeeingthistitle,someofyoumaywonder:Isn'tbpmn-jsthemostcommonfrontendsolutionforworkflowsystems?Whydoweneedtoreplacebpmn-js?Here,fromafrontendperspective,let'sfirstclarifytherel......
  • 配置环境变量--cnblog
    配置环境变量原因未配置环境变量错误原因:当前执行的程序在当前的目录下如果不存在,win10系统会在系统中已有的一个名为path的环境变量指定的目录查找。如果仍未找到,会出现以下的错误提示,所以进到jdk安装目录下便不会弄报错。配置环境变量的步骤我的电脑--属性--高级系统设......
  • 读取内核变量的几种方法
    作者[email protected]背景开发过程中,有时需要读取内核中某个变量的值,比如我想获取下面这个变量的内容:constcharlinux_banner[]= "Linuxversion"UTS_RELEASE"("LINUX_COMPILE_BY"@" LINUX_COMPILE_HOST")("LINUX_COMPILER")"UTS_VER......
  • 变量
    变量内存单位内存中可见的最小的单位是bit,代表0/1内存中用于存储数据的最小单位是8个bit,即1byte(字节)案例字符一个字符可以是英文字母,汉字,一个符号,占有2byte的内存大小编码:建立某一个数字与某一个字符之间联系的方法(编码)默认使用(UTF-16编码规则)案例......
  • $_SERVER 全局变量内容详解
    echo"<h1>服务器</h1>";//**********************  服务器  *********************echo $_SERVER['SERVER_NAME']."<br />";     //服务器的名称echo $_SERVER['SERVER_ADDR']."<br />";     //服务器的ipecho ......
  • js:使用LetterAvatar通过canvas实现浏览器中生成字母头像
    实现效果LetterAvatar的原理就是利用了浏览器对象canvas在线体验:https://mouday.github.io/tools/pages/letter-avatar/index.htmlLetterAvatar.js完整代码/**LetterAvatar**ArturHeinze*CreateLetteravatarbasedonInitials*basedonhttps://gist.github.co......
  • Python魔法解析:探索变量类型的丰富多彩世界!
    在Python这个魔法般的编程语言中,变量是连接你与计算机世界的神奇桥梁。然而,这些变量并不是单一的,它们有着丰富多彩的类型。无论你是刚刚踏入编程的大门,还是想要深入了解Python的高级特性,本篇博客将带你探索变量的不同类型,为你揭开编程世界的神秘面纱。一窥Python变量类型的多样性在......