Hãy để tôi giải thích một cách chi tiết, Để khai báo biến toàn cục và biến cục bộ trong javascript
var firstNumber=5;//local variable
secondNumber=10; //global variable or window object
Khi chương trình của bạn là như thế này
var number =1;
function playSong() {
alert(number);
var number =2;
alert(number);
}
Theo trình biên dịch Javascript tất cả Tuyên bố/khởi tạo của biến sẽ di chuyển lên trên khái niệm này được gọi là Hoisting. Link: https://www.w3schools.com/js/js_hoisting.asp
Theo chương trình biên dịch sẽ thực hiện như
var number; //Declaration will move to top always in Javascript
number=1;
function playSong() {
var number;
alert(number); //output : undefied - This is local variable inside the function
number =2;
alert(number); // output : 2
}
Nếu bạn cần truy cập vào biến toàn cầu trong việc sử dụng chức năng window.number
var number =1;
function playSong() {
var number =2;
alert(window.number); // output : 1 -From Global variable
alert(number); // output : 2 -From local variable
}
Nguồn
2018-02-12 06:42:41
Chết tiệt Ya'll! Cảm ơn tất cả các câu trả lời quá nhanh. – ian
Tại sao bạn viết cảnh báo ('số cũ là:' + [số] + ''); và không phải cảnh báo ('số cũ là:' + số); Bởi vì nó sẽ cảnh báo một mảng với một mục bên trong, không phải là mục (số) –
Hmmm dunno nhưng nó hoạt động. Tôi không nghĩ rằng nó sẽ tìm kiếm bất kỳ mảng vì tôi tham gia không gian trống ở phía bên phải + ''; hoặc có lẽ không phải tôi không biết. – ian