首页前端开发其他前端知识jquery中关键字let有什么含义呢?

jquery中关键字let有什么含义呢?

时间2024-03-25 09:18:03发布访客分类其他前端知识浏览654
导读:相信很多人对“jquery中关键字let有什么含义呢?”都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助 在jquery中,let是一个声明变量的关键字,let关键字允许声明一个作用域被限制在块作用域中的变量、语句...
相信很多人对“jquery中关键字let有什么含义呢?”都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助

 

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

如何快速入门VUE3.0:进入学习

本教程操作环境: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

说明:

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();
    

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

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

重复声明

在同一个函数或块作用域中重复声明同一个变量会抛出 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;

}
    

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

let x = 1;


switch(x) {

  case 0: {
    
    let foo;
    
    break;

  }

  case 1: {
    
    let foo;
    
    break;

  }

}
    

以上就是关于“jquery中关键字let有什么含义呢?”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

jquery

若转载请注明出处: jquery中关键字let有什么含义呢?
本文地址: https://pptw.com/jishu/652684.html
PHP里面删除deprecated的方法是什么? php中去除数组中为0的元素的方法是什么?

游客 回复需填写必要信息