在今日早上的工程实训中的电工基础实训中学习了不同的触电事故:电击和电伤,对于应对触电事故的措施和急救措施。
Js是一种弱编程语言,其中对于声明变量,变量的数据类型有Number,String、boolean、undefined、null等,变量的数据类型取决于变量的值。
其中声明变量有两种,let声明在目前使用较为广泛,而var声明存在缺点被淘汰:
var: 声明的变量具有函数作用域,这意味着它只能在函数内部访问。如果在函数外部声明,变量在整个代码中都是可访问的。
let: 声明的变量具有块级作用域,这意味着它只能在最近的 {} 块内访问。适用于循环或条件语句。
javascript
function testVar() {
if (true) {
var x = 10;
}
console.log(x); // 输出: 10
}
function testLet() {
if (true) {
let y = 20;
}
console.log(y); // 报错: y is not defined
}
2. 变量提升
var: 声明的变量会被提升(hoisted)到函数或整个脚本的顶部,即使在声明之前使用它,仍然不会报错,但其值为 undefined 。
let: 声明的变量同样会被提升,但是在变量声明之前,访问它会导致 ReferenceError,这称为“暂时性死区”。
javascript
console.log(a); // 输出: undefined
var a = 5;
console.log(b); // 报错: Cannot access 'b' before initialization
let b = 10;
3. 重复声明
var: 在同一作用域内可以重复声明同一个变量。
let: 在同一作用域内不能重复声明同一个变量,这有助于避免意外覆盖变量的值。
javascript
var c = 1;
var c = 2; // 没问题
let d = 1;
// let d = 2; // 报错: Identifier 'd' has already been declared
4. 适用场景
var: 在较旧的代码或需要兼容旧版浏览器的场景中使用。
let: 推荐用于现代 JavaScript 编程,更加安全和明确。