let防止变量声明提前

 

  let可以解决原来js中,一个函数中变量混乱的问题,因为以前var 定义的变量时, {}是不能限制变量作用域的.

 

 "use strict";
  +function(){
    var t=0;//用于计时的变量t
    console.log("建立连接,耗时0.3秒");
    t+=0.3;//t=0.3;
    (function(){
      //var t;
      console.log("查询数据,耗时0.8秒");
      t+=0.8;//t=1.1;

      var err=true;//没发生错误
      if(err){
        //不允许提前使用t
        let t=new Date();
        console.log("发生错误,at:"+t);
      }//let t释放!

      console.log("共耗时:"+t);
    })()
  }()

 

转载于:https://www.cnblogs.com/web-fusheng/p/6764039.html

### 编程语言中声明变量的方式 在编程语言中,变量是用来存储数据的容器[^2]。为了能够在程序中使用变量,必须按照该编程语言的规定对其进行声明。以下是关于如何在多种常见编程语言中声明变量的相关说明: #### 1. **静态类型语言** 在静态类型的编程语言(如C++、Java、Go等)中,变量的类型需要显式指定。 - **C++**: 变量声明需指明数据类型和名称。 ```cpp int age; // 声明一个整型变量age double height; // 声明一个双精度浮点型变量height ``` - **Java**: Java同样要求明确指出变量的数据类型。 ```java String name; // 声明一个字符串类型的变量name boolean isTrue; // 声明一个布尔类型的变量isTrue ``` - **Go**: Go支持两种形式的变量声明——带`var`关键字的传统方式和短声明方式。 ```go var count int // 使用var关键字声明int类型的count变量 price := 99.99 // 短声明方式自动推导price为float64类型 ``` #### 2. **动态类型语言** 在动态类型的编程语言(如Python、JavaScript、Ruby等)中,无需提前定义变量的具体类型,解释器会在运行时根据赋值情况决定其类型。 - **Python**: Python中的变量可以直接赋值而不需要事声明类型。 ```python score = 85 # 自动识别score为整数类型 message = "Hello" # 自动识别message为字符串类型 ``` - **JavaScript**: JavaScript提供了`let`, `const`, 和隐式的未声明变量三种方法来创建新变量。 ```javascript let color = 'blue'; // 使用let声明color变量并初始化 const pi = 3.14159; // 使用const声明pi作为常量 number = 7; // 不推荐:不加任何关键词直接赋值会形成全局变量number ``` #### 3. **其他注意事项** 除了基本的语法外,还需要注意一些额外事项以确保代码质量良好: - **命名规则**:大多数现代编程语言都遵循类似的命名约束条件,例如变量名应仅包含字母、数字及下划线字符;首字符不得是数字等等[^4]。 - **作用域与生命周期**:不同区域内的同名变量可能互不影响,这取决于具体上下文中对该变量的有效性和存活时间设定[^3]。 - **可变性 vs 不可变性**:部分高级特性允许开发者标记某些变量为只读属性,防止后续更改原有数值[^3]。 综上所述,尽管每种具体的实现细节有所差异,但总体思路都是围绕着选定合适的名字以及匹配恰当的数据类别来进行有效的资源管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值