ES6 let和var的四个不同
来源:互联网 发布:主升浪起爆点公式源码 编辑:程序博客网 时间:2024/06/10 07:50
ES6 let和var的四个不同
- 01-作用域只局限于当前代码块
- 02-使用let声明的变量作用域不会被提升
- 03在相同的作用域下不能声明相同的变量
- 04-for循环体现let的父子作用域
代码:
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <button>按钮1</button> <button>按钮2</button> <button>按钮3</button> <button>按钮4</button> <button>按钮5</button><script> //let和const声明变量和常量 var //01-作用域只局限于当前代码块/* { var str = "张三"; console.log(str); let str1 = "李四"; console.log(str1); } //++++张三,str1 is not defined //let的作用域比var体现的更"明显"一些 console.log("++++" + str) console.log("++++" + str1)*/ //02-使用let声明的变量作用域不会被提升/* { console.log(str1) //undefined var str1 = "张三"; //上面等同于 var str1; console.log(str1); //undefined str1 = "张三" }*/ //报错“str is not defined”/* { console.log(str) let str = "李四" }*/ //03在相同的作用域下不能声明相同的变量/* { //不会报错,后面会覆盖前面的 var str1 = "张三"; var str1 = "李四"; console.log(str1); }*//* { //报错 "Identifier 'str2' has already been declared" let str2 = "张三"; let str2 = "李四"; console.log(str2) }*/ //04-for循环体现let的父子作用域// var btns = document.querySelectorAll("button");/* for(var i = 0; i < btns.length; i++) { // 点击事件是异步,i btns[i].onclick = function () { alert("点击了第"+i+"个按钮"); } }*/ //传统解决思路,闭包/* for(var i = 0; i < btns.length; i++) { (function (i) { btns[i].onclick = function () { alert("点击了第"+i+"个按钮"); } })(i); }*/ //ES6中直接用let,因为有作用域的概念/* let btns = document.querySelectorAll("button"); for(let i = 0; i < btns.length; i++) { // 点击事件是异步,i btns[i].onclick = function () { alert("点击了第"+i+"个按钮"); } }*/ //我们再测试一下/* for(var i = 0; i < 5;i++) { let i = 20; console.log(i); }*/</script></body></html>
阅读全文
0 0
- ES6 let和var的四个不同
- es6:let和var的区别
- Javascript ES6 let 和 var 比较
- Javascript ES6 let 和 var 比较
- JavaScript的ES6中var、let、const
- ES6----var与let的区别
- es6中let const var的区别
- ES6中var/let/const的区别
- ES6中let与var的区别
- 【ES6】var / let / const
- [Wondgirl]ECMAScript6(ES6)(二)变量let、var和常量const的定义和区别
- js变量中有var定义和无var定义的区别,es6中let命令和const命令
- var和let的区别
- let和var的区别
- ES6 let var 语法区别
- ES6 let var 暂时性死区
- ES6的let和const
- ES6 的let,var,const的一些理解
- 训练数据集
- Apache和PHP结合
- 阿里云linux运维(一)
- Unity 生命周期
- python基础数据类型二
- ES6 let和var的四个不同
- 重识java1
- 并查集模板
- leetcode 645. Set Mismatch
- 第一节 安装Matlab 2016a Win64
- 马化腾、李彦宏、雷军,程序员国服三强谁的编程能力最牛?
- pandas字符串匹配
- SSM
- CodeForces