jquery中关键字let的含义是什么

jquery中,let是一个声明变量的关键字,let关键字允许声明一个作用域被限制在块作用域中的变量、语句或者表达式。let声明的变量不会在作用域中被提升,它是在编译时才初始化;let不会在全局声明时(在最顶层的作用域)创建window对象的属性。

jquery中关键字let的含义是什么

本教程操作环境:windows7系统、jquery3.6.0版本、Dell G3电脑。

在jquery中,let是一个声明变量的关键字。

let关键字声明一个块级作用域的局部变量,并可以初始化为一个值(可选)。语法:

let name1 [= value1] [, name2 [= value2]] [, ..., nameN [= valueN];

登录后复制

参数

nameN:要声明的一个或多个变量的名称,必须是合法的标识符。

valueN:可选,规定变量的初始值,可以是任意合法的表达式。

示例:

let x = 1;if (x === 1) {  let x = 2;  console.log(x);  // expected output: 2}console.log(x);// expected output: 1

登录后复制

1.png

说明:

let 允许你声明一个作用域被限制在块作用域中的变量、语句或者表达式。与 var 关键字不同的是,var 声明的变量作用域是全局或者整个函数块的。 var 和 let 的另一个重要区别,let 声明的变量不会在作用域中被提升,它是在编译时才初始化(参考下面的暂时性死区)。

就像 const 一样,let 不会在全局声明时(在最顶层的作用域)创建 window 对象的属性。

可以从这里了解我们为什么使用 let。

通过在使用 let 变量的作用域顶部声明它们,可以避免很多问题,但这样做可能会影响可读性。

与 var 不同的是,let 只是开始声明,而非一个完整的表达式。这意味着你不能将单独的 let 声明作为一个代码块的主体(这是有道理的,因为声明的变量无法被访问)。

if (true) let a = 1; // SyntaxError: Lexical declaration cannot appear in a single-statement context

登录后复制

作用域规则

let 声明的变量作用域只在其声明的块或子块内部,这一点,与 var 相似。二者之间最主要的区别在于 var 声明的变量的作用域是整个封闭函数。

function varTest() {  var x = 1;  {    var x = 2; // same variable!    console.log(x); // 2  }  console.log(x); // 2}function letTest() {  let x = 1;  {    let x = 2; // different variable    console.log(x); // 2  }  console.log(x); // 1}    letTest();varTest();

登录后复制

2.png

在全局作用域中,let 和 var 不一样,它不会在全局对象上创建属性。例如:

var x = 'global';let y = 'global';console.log(this.x); // "global"console.log(this.y); // undefined

登录后复制

3.png

重复声明

在同一个函数或块作用域中重复声明同一个变量会抛出 SyntaxError。

if (x) {  let foo;  let foo; // SyntaxError thrown.}

登录后复制

在 switch 语句中也会触发这个错误,因为它是同一个块作用域。

let x = 1;switch(x) {  case 0:    let foo;    break;  case 1:    let foo; // SyntaxError for redeclaration.    break;}

登录后复制

4.png

然而,需要特别指出的是,一个嵌套在 case 子句中的块会创建一个新的块作用域的词法环境,就不会产生上诉重复声明的错误。

let x = 1;switch(x) {  case 0: {    let foo;    break;  }  case 1: {    let foo;    break;  }}

登录后复制

【推荐学习:jQuery视频教程、web前端视频】

以上就是jquery中关键字let的含义是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2927713.html

(0)
上一篇 2025年3月11日 19:28:17
下一篇 2025年3月1日 09:21:35

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • jq怎么移除html5属性

    jquery移除html5属性的步骤:1、使用jquery选择器选取指定html5元素,语法“$(selector)”,会返回一个包含指定元素的jquery对象;2、使用removeAttr()函数移除元素对象的指定属性,语法“元素对象.r…

    2025年3月11日
    200
  • jquery find方法怎么获取第一个子元素

    两种获取方法:1、先利用find()获取全部子元素,接着利用“:first-child”选择器过滤结果集,返回第一个子元素,语法“$(父元素).find(“:first-child”)”;2、先利用find()获取全…

    2025年3月11日
    200
  • jquery怎么清除行内样式属性

    两种清除方法:1、用removeAttr()从匹配元素中移除style属性,只需要将该函数的参数值设置为“style”即可,语法“指定元素.removeAttr(“style”)”。2、用attr()将style属性…

    2025年3月11日
    200
  • 用jquery前要导入么

    用jquery前需要导入。两种导入方式:1、在jquery官网下载jquery文件到本地,在HTML文档中使用script标签导入本地jquery文件,语法“”;2、在HTML中使用script标签导入在线jquery文件,语法“”。 本教…

    2025年3月11日 编程技术
    200
  • jquery怎么求兄弟节点的内容值

    实现步骤:1、用遍历兄弟节点的函数(siblings()、next()等)获取指定元素的兄弟节点,语法“指定元素.指定遍历函数”;2、用text()或html()函数获取被选节点的内容值,语法“兄弟节点.text()”或“兄弟节点.html…

    2025年3月11日 编程技术
    200
  • jquery怎么实现几秒后跳转页面

    实现步骤:1、使用setTimeout()函数指定一个定时器,并设置定时器中执行跳转函数的等待秒数,语法“setTimeout(function(){//跳转代码},等待的毫秒数);”;2、在跳转函数中,设置“$(location).att…

    2025年3月11日
    200
  • 使用ajax需要引入jquery吗

    使用ajax不需要引入jquery;ajax全称是“Asynchronous javascript and XML”,也即异步JavaScript和XML,是指一种创建交互网页应用的网页开发技术,JavaScript原本就支持ajax,若是…

    2025年3月11日
    200
  • jquery class选择器怎么用

    在jquery中,class选择器用于选取带有指定class的所有元素;class属性用于为多个HTML元素设置特定样式,为了避免某些浏览器中出现问题,最好不要使用数字开头的class属性,语法为“$(“.class&#8221…

    2025年3月11日
    200
  • jquery的validate是标签吗

    jquery的validate不是标签,而是一款jquery插件;“jQuery Validate”插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求,该插件捆绑了一套有用的验证方法,…

    2025年3月11日
    200
  • 移动端能使用jquery吗

    移动端开发能使用jquery,但是并不建议使用;不建议使用是因为jquery屏蔽了浏览器的差异,不存在不同浏览器支持的api不同的问题,并且现在各种前端的框架极大的方便了前端的程序开发,而这些框架绝大多数都是不鼓励直接操作DOM的。 本文操…

    2025年3月11日
    200

发表回复

登录后才能评论