Để bảo vệ mã của tôi truy cập vào các biến chưa được khai báo tôi sử dụngTrình tự đánh giá trong câu lệnh if trong Javascript
if (typeof myVar != 'undefined')
này hoạt động tốt nhưng tôi muốn dính vào một câu lệnh if trong nó. Một cái gì đó như chuyển đổi này:
if (typeof myVar != 'undefined'){
if (myVar == "test"){}
}
này:
if (typeof myVar != 'undefined' && myVar == "test")
Xét myVar
có thể không xác định, là mã cuối cùng này an toàn trong mọi trường hợp sử dụng và mọi trình duyệt?
Có thể các câu lệnh khác nhau bên trong một số if()
không được đánh giá theo thứ tự chúng được viết không?
Tôi có thể giả định myVar == "test"
sẽ không bao giờ được thực thi nếu myVar
không xác định?
Có thể. Nó sẽ là một cách tiếp cận tốt hơn ở đây để sử dụng 'if (myVar && myVar ==" test ")' ở đây. – user1983983
Có && toán tử là toán tử ngắn mạch, vì vậy điều kiện khác sẽ không được kiểm tra nếu điều kiện đầu tiên là false – Shadow
có, nhưng mã bị lỗi khi bạn cố truy cập biến không xác định – Saturnix