zoukankan      html  css  js  c++  java
  • Typescript变量声明

    let 和 const 是 javascript 里面最新的变量声明方式,let 与 var 很相似,而 const 是 let 的增强,能阻止对一个变量的再次赋值。

    1. var 声明

      1. 弱类型:var 声明变量时,不管声明再任何位置,总会提到全部代码执行前——声明提前,且可不必对变量类型做约束,变量类型可随需要任意改变赋值;
      2. 作用域:var 声明的变量,可以在包含他的函数、模块、命名空间、全局作用域内部任意位置被访问;(多次声明同一变量并不会报错)
      3. 变量值:var 声明的变量,其值为函数执行结束时的值,
        //1.重复赋值——里层的for会覆盖变量i
        function sumMatrix(martrix:number[][]){
          var sum=0;
          for(var i=0;i<martrix.length;i++){
          var currRow=martrix[i];
          for (var i=0;i<currRow.length;i++){
          sumb+=currRow[i]
          }         
          }    
          return sum;  
        }
        //2.变量总取得函数执行后的值
        for (var i = 0; i < 5; i++) {
            setTimeout(function() { console.log(i); }, 100 * i);
        }
        //5,5,5,5,5
    2. let 声明

      1. 强类型: let 声明的变量,必须先声明,再访问;变量声明前的代码区域都属于时间死区;
      2. 块作用域:let 声明的变量,其作用域是词法作用域,亦即块作用域,不能在包含它们的函数外访问;
      3. 重定义及屏蔽:let 声明的变量,不可重复声明;在一个嵌套作用域里引入一个新名字的行为称做屏蔽;
      4. 变量的获取:块级作用域拥有独立的运行环境;
        for (let i = 0; i < 5; i++) {
            setTimeout(function() {console.log(i); }, 100 * i);
        }
        //0,1,2,3,4
    3. const 声明

    拥有和 let 一样的作用域,但不可进行再赋值;

    ps:具体使用何种方式声明变量,遵循“最小特权原则”。

     

    __end

  • 相关阅读:
    poj 3070 矩阵快速幂模板
    poj3207 2-SAT入门
    poj 3683 2-SAT入门
    2-SAT开坑
    poj 1442 名次树
    hdu 3068 最长回文子串 TLE
    poj 3261 二分答案+后缀数组 求至少出现k次的最长重复子序列
    poj 1743 二分答案+后缀数组 求不重叠的最长重复子串
    后缀数组笔记
    poj2774 后缀数组 求最长公共子串
  • 原文地址:https://www.cnblogs.com/hbzyin/p/6517702.html
Copyright © 2011-2022 走看看