JS中var let声明范围区别详解

2023-12-01 0 897
目录
  • var声明提升
  • var可以重复声明同一个变量
  • var全局声明
    • 作用域

var声明提升

console.log(name) //土豆
var name = \’土豆\’;

使用var声明的变量会自动提升到函数作用域的顶部

function foo(){
console.log(name);
var name = \”土豆\”;
}
foo() //undefined
//等价于
function foo(){
var name;
console.log(name);
name = \”土豆\”;
}
foo(); //undefined
console.log(name) //ReferenceError name没有被定义
let name =\”土豆\”;

而使用let定义的name不会被提升,报出ReferenceError的错误;

var可以重复声明同一个变量

var name = \”番茄\”;
var name = \”西瓜\”;
var name = \”土豆\”;
console.log(name);//土豆

而使用let重复声明同一个变量会报错。

var name = \”土豆\”;
let name = \”土豆\”;
console.log(name);//\’name\’ has already been declared
let name = \”土豆\”;
var name = \”土豆\”;
console.log(name);//Cannot redeclare block-scoped variable \’name\’.

var全局声明

var name = \”土豆\”;
console.log(window.name);//土豆
let age = \”24\”;
console.log(window.age); //undefined

使用var定义的变量会被挂载到window上,成为window对象的属性,而使用let不会。

作用域

if(true){
var name = \”土豆\”;
console.log(name);
}
console.log(name);
//土豆
//土豆
if(true){
let age = 24;
console.log(age);
}
console.log(age);
//24
//undefined

使用var声明的范围是函数作用域,使用let声明的范围是块作用域。

以上就是JS中var let声明范围区别详解的详细内容,更多关于JS var let声明范围区别的资料请关注悠久资源网其它相关文章!

您可能感兴趣的文章:

  • ECMAScript中varletconst常见问题及区别详解
  • Javascript 中 var 和 let 、const 的区别及使用方法
  • javascript中var与let、const的区别详解
  • 详解JavaScript中var和let的区别
  • Varlet组件实现一个丝滑的点击水波效果详解
  • JavaScript变量中var,let和const的区别
  • JavaScript变量or循环中的var和let详解

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 JavaScript JS中var let声明范围区别详解 https://www.u-9.cn/biancheng/javascript/5519.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务