在今日早上的工程實訓中的電工基礎實訓中學習了不同的觸電事故:電擊和電傷,對於應對觸電事故的措施和急救措施。
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 程式設計,更加安全和明確。