JavaScript面试题,let和var的区别,let和const是什么意思?

JavaScript面试题,let和var的区别,let和const是什么意思?一、let和var的区别1、let声明的变量是块级作用域(所在花括号里),var是函数作用域和全局作用域注意:let是可以定义全局变量,局部变量,块级作用域的变量

一、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是什么意思?分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/60439.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注