Logo
Section 1 / 10

变量和数据类型

通过 var、let、const 以及类型转换,复习 JavaScript 中的变量、作用域和类型处理知识。

导入

变量和数据类型

通过 var、let、const 以及类型转换,复习 JavaScript 中的变量、作用域和类型处理知识。

1function varExample() { 2 var x = 1; 3 if (true) { 4 var x = 2; // 同一个变量;值被覆盖。 5 console.log('在 if 块内:', x); // 输出: 2 6 } 7 console.log('在 if 块外:', x); // 输出: 2 8} 9 10varExample();
1function letExample() { 2 let y = 1; 3 if (true) { 4 let y = 2; // 不同的变量;块级作用域。 5 console.log('在 if 块内:', y); // 输出: 2 6 } 7 console.log('在 if 块外:', y); // 输出: 1 8} 9 10letExample();
1const z = 10; 2console.log('初始值:', z); // 输出: 10 3 4// 尝试重新赋值给 const 变量将导致运行时错误。 5// TypeError: Assignment to constant variable。 6z = 20;

表格

关键字作用域重复声明重新赋值提升
var函数/全局允许允许提升并初始化为 undefined
let块级在同一作用域内不允许允许提升但保持未初始化
const块级在同一作用域内不允许不允许提升但保持未初始化
1// 字符串和数字 2let result1 = '5' + 3; // '53'(数字 3 被强制转换为字符串) 3console.log(result1); // 输出: '53' 4 5// 数字和字符串进行减法运算 6let result2 = '5' - 2; // 3(字符串 '5' 被强制转换为数字) 7console.log(result2); // 输出: 3 8 9// 布尔值和数字 10let result3 = true + 2; // 3(true 被强制转换为 1) 11console.log(result3); // 输出: 3
1// 字符串转数字 2let strNum = '100'; 3let num = Number(strNum); 4console.log(num); // 输出: 100 5console.log(typeof num); // 输出: number 6 7// 数字转字符串 8let numStr = String(50); 9console.log(numStr); // 输出: '50' 10console.log(typeof numStr); // 输出: string 11 12// 布尔值转换 13let isActive = Boolean(1); 14console.log(isActive); // 输出: true 15console.log(typeof isActive); // 输出: boolean
1function scopeTest() { 2 // 在此处声明一个变量 3} 4// 在此处访问该变量
1// 在此处编写你的代码
1// 在此处编写你的代码

开始之前

函数、箭头函数和回调函数