Typescript变量声明
2024-09-22 23:01:22
let 和 const 是 javascript 里面最新的变量声明方式,let 与 var 很相似,而 const 是 let 的增强,能阻止对一个变量的再次赋值。
var 声明
- 弱类型:var 声明变量时,不管声明再任何位置,总会提到全部代码执行前——声明提前,且可不必对变量类型做约束,变量类型可随需要任意改变赋值;
- 作用域:var 声明的变量,可以在包含他的函数、模块、命名空间、全局作用域内部任意位置被访问;(多次声明同一变量并不会报错)
- 变量值: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
let 声明
- 强类型: let 声明的变量,必须先声明,再访问;变量声明前的代码区域都属于时间死区;
- 块作用域:let 声明的变量,其作用域是词法作用域,亦即块作用域,不能在包含它们的函数外访问;
- 重定义及屏蔽:let 声明的变量,不可重复声明;在一个嵌套作用域里引入一个新名字的行为称做屏蔽;
- 变量的获取:块级作用域拥有独立的运行环境;
for (let i = 0; i < 5; i++) {
setTimeout(function() {console.log(i); }, 100 * i);
}
//0,1,2,3,4
const 声明
拥有和 let 一样的作用域,但不可进行再赋值;
ps:具体使用何种方式声明变量,遵循“最小特权原则”。
__end
最新文章
- javascript:history.go()和History.back()的区别(转载)
- [leetcode 37]sudoku solver
- 模拟java.util.Collection一些简单的用法
- infer.net 入门2 用一个侦探故事来讲解,通俗易懂
- 微信开发小结-PHP
- 在eclipse中配置spark 0.9.1源码的开发环境
- Ecmall系统自带的分页功能使用
- NOIP 2017 Day 0. 游记
- git应用
- LVS+nginx负载均衡知识点1
- 关于c++的一篇随笔
- Dapper简易教程(翻译自Github上StackExchange/Dapper)
- 朱晔和你聊Spring系列S1E6:容易犯错的Spring AOP
- BZOJ2938[Poi2000]病毒——AC自动机
- CentOS7安装Jdk1.8
- 学习笔记18—circos应用集
- C#数组的定义,不定长的数组?
- 5337朱荟潼Java实验报告一
- AtCoder Grand Contest 029 翻车记
- linux 查看登录日志