Hướng dẫn lexical scope javascript - phạm vi từ vựng javascript
Ở bài viết trước thì chúng ta đã tìm hiểu về khái niệm Lexical scope trong JavaScript là gì?Trước tiên, mình xin sử dụng lại ví dụ từ bài viết hôm trước. Bạn nào chưa hiểu về
Một câu hỏi đặt ra là: "Làm sao JavaScript có thể hiểu được biến JavaScript có một cơ chế xác định Lexical scope là nơi mà một biểu thức được tạo ra. là nơi mà một biểu thức được tạo ra. Lexical scope hiểu đơn giản là một biến được khai báo bên ngoài một hàm, có thể truy xuất được khi sử dụng biến này bên trong một hàm khác. Điều ngược lại là không đúng. Các biến được khai báo bên trong một hàm sẽ không thể sử dụng được bên ngoài hàm đó. hiểu đơn giản là một biến được khai báo bên ngoài một hàm, có thể truy xuất được khi sử dụng biến này bên trong một hàm khác. Điều ngược lại là không đúng. Các biến được khai báo bên trong một hàm sẽ không thể sử dụng được bên ngoài hàm đó. Cùng xem một ví dụ để hiểu hơn về
Ở ví dụ trên ta khai báo một biến 4 ở 5. Ta thực thi (invoked) hàm 6. Trong hàm này ta sử dụng biến 4 từ 5 👌. Vậy câu hỏi đặt ra là lexical scope của 4 thuộc phạm vi toàn cục ( 5) hay scope của 6?lexical scope của 4 thuộc phạm vi toàn cục ( 5) hay scope của 6?lexical scope có nghĩa là chúng ta đang xét về không gian định nghĩa chứ không phải là nơi mà ta gọi 4. Do đó, lexical scope của 4 là 5 vì ta đã khai báo 4 ở global environment ^^.Cùng tiếp tục theo dõi ví dụ trên, ta thấy lexical scope của 6 bao gồm cả scope của 7, 6 và global scope. Ta có thế truy cập các biến khi ở trong lexical scope của biến đó. Chính vì thế trong 7 ta có thể sử dụng biến 4, scope 1, scope 2.lexical scope của 6 bao gồm cả scope của 7, 6 và global scope. Ta có thế truy cập các biến khi ở trong lexical scope của biến đó. Chính vì thế trong 7 ta có thể sử dụng biến 4, scope 1, scope 2.lexical scope của 7 bao gồm scope của 6 và global scope. Do đó ta có thể sử dụng biến 4, scope 1, vì ta đang sử dụng các biến này trong lexical scope của chúng.lexical scope của 6 là global scope. Nên ta chỉ có thể sử dụng được biến 4 ở ví dụ trên 😁.Tiếp tục một ví dụ nữa để các bạn hiểu rõ hơn nhé ^^. Ví dụ này mình đã lấy từ bài trước:
Ở ví dụ trên, ta sẽ gặp một lỗi đó là Ta khai báo biến Kết luậnChúng ta đã cùng nhau tìm hiểu về lexical scope trong JavaScript rồi. Hy vọng bài viết sẽ giúp các bạn hiểu về lexical scope hơn ^^.lexical scope trong JavaScript rồi. Hy vọng bài viết sẽ giúp các bạn hiểu về lexical scope hơn ^^. Chúc các bạn học tốt. |