一、let和var的区别
1、let声明的变量是块级作用域(所在花括号里),var是函数作用域和全局作用域
注意:let是可以定义全局变量,局部变量,块级作用域的变量。
2、let声明的变量不会声明提升,var会声明提升
3、从代码的写法上,let不能声明同名的变量,var可以。
1、let声明的变量是块级作用域(所在花括号里),var是函数作用域和全局作用域
// 注意:let是可以定义全局变量,局部变量,块级作用域的变量。
示例代码:
<script type="text/javascript">
//1、let声明的变量是块级作用域(所在花括号里),var是函数作用域和全局作用域
// 注意:let是可以定义全局变量,局部变量,块级作用域的变量。
let global_t=350;//用let定义全局变量
function testf1(){
console.log("testf1 global_t="+global_t);
global_t=450;
//以下代码演示let定义块级作用域。
{
var temp = 200;
let v = 250;//变量v只能在当前花括号里使用
console.log("v="+v);
}
console.log("temp="+temp);//这个可以正常打印(用var声明的)
console.log("v="+v);//这句话要报错(用let声明的)
}
function testf2(){
console.log("testf2 global_t="+global_t);
}
window.onload = function(){
testf1();
testf2();
}
</script>
2、let声明的变量不会声明提升,var会声明提升,关于变量声明提升请看JS面试题:变量声明的提升,javascript的变量声明提升
3、从代码的写法上,let不能声明同名的变量,var可以
<script type=”text/javascript”>
function testf1(){
var temp1 = 100;
var temp1 = 200;
console.log(temp1);//200
let temp2 = 100;
//let temp2 = 200;//报错 ‘temp2’ has already been declared
console.log(temp2);
}
window.onload = function(){
testf1();
}
</script>
二、关于const,为了减少篇幅,请点击
今天的文章JavaScript面试题,let和var的区别,let和const是什么意思?分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/60439.html