JavaScript中常量与变量的声明
16lz
2021-04-05
首先,我们声明一个变量:
//定义一个变量num,并赋值为10;
let num = 10;
//进行打印
console.log(num);
let与var有所不同:
语法特点1:let变量只能在当前代码块使用
(function(){
{
let i = 2;
}
alert(i);
})();
代码块是什么呢?
我们的大括号就属于一个代码块,只要是代码块以内的都可以使用到,如果在外面就获取不到了,此时输出的i是没有值的。
语法特点2:同一代码块不允许出现重名let变量
(function(){
var i = 9;//不允许
let i = 10;//不允许
let i = 11;
console.log(i);
})();
下面来看下一个小测试:
var arr3 = [];
for(var i = 0;i<10;i++){
arr3[i] = function(){
alert(i)
}
}
arr3[3]();
变量i是var声明的,在全局内都有效,
所以每次循环,新值都会覆盖旧值,导致最后输出的是最后一轮的i的值。
我们如何解决这种问题呢?
以下通过闭包解决
var arr = [];for(var i = 0;i<10;i++){
(function sum(val){
arr[i] = function(){
alert(val);
}
})(i)
}
arr[9]();
当然,这种方法是不是麻烦了点!我们可以通过let定义变量来解决这个问题
以下是let解决
var arr2 = [];
for(let i = 0;i<10;i++){
arr2[i] = function(){
alert(i)
}
}
arr2[3]();
变量i是let声明的,当前的i只在本轮循环有效,
所以每一次循环的i其实都是一个新的变量,所以最后输出的是3.
那我们如何引入JavaScript呢,通常都会使用以下方式
<script type="module" src="./js/index.js"></script>
更多相关文章
- 210331 JavaScript引入方式 变量与常量 函数
- js 引入方式,常量,变量,函数的声明和使用----0331
- 这38款超级炫酷的时间轴特效代码案例,总有一款是你需要的
- 【翻译】JavaScript引用是如何工作的?
- Python爬虫进阶必备 | 关于某汽车交易网加密 Cookie 的分析
- crudapi零代码开发平台应用场景和成功案例
- 一份代码帮我赚了10万
- 手机端首页仿写
- js作业一常识类