01/10/2018, 13:43
Không hiểu cách khai báo biến trong javascript
Mọi người cho em hỏi là cách khai báo var app = new function như trong hình là sao vậy ạ, em không hiểu cách viết này của tác giả. Anh(chị) giải thích rõ ý của tác giả giúp em với ạ. Em cảm ơn!
Bài liên quan
Function trong javascript là first-class function. Tức là bạn có thể gán function vào một biến hay khởi tạo 1 function như 1 class. Ở đây mình nghĩ tác giả không có ý gì lắm nó chỉ là một cách viết thôi. Để thể hiện một class trong javascript thì người ta phải dùng đến function. Có thể đặt tên khai báo class trước rồi new sau. Hoặc cũng có thể new luôn nếu bạn chỉ muốn tạo 1 instance của class đó. Mình nghĩ vậy
bạn học phần object của javascript đi
Mình hiểu biến app là 1 đối tượng nhưng thấy hơi khó hiểu vì cách khai báo của nó. Bạn có cách viết nào dễ hiểu hơn từ code ở trên không.
Viết kiểu kiểu pseudo nhé:
var app = {
property1 : value1,
property2 : value2,
method1 ; function() {
}
}
Có dụng ý cả đấy,
thông thương sẽ viết thế này
Bạn có thể coi nó như anonymous class
thứ nhất tác giả muôn “gói” code của mình vào trong một biến toàn cục duy nhất là app
thế sao đơn giản không dùng đối tượng đơn giản như:
var app = { }
Lý do vì Javascript chỉ có function mới tạo đc scope mới cho var.
Nếu chỉ dùng object đơn thuần thì các biến tạo trong object đó vẫn “vấy bẩn” global scope.
Tại sao lại sợ “vấy bẩn” global scope. Đó là vì trang web có thể load bao nhiêu chương trình JS tùy thích,
nếu chẳng may các chương trình đặt tên biến trùng nhau sẽ gây xung đột.
function trong JS cũng chỉ là một object nhưng nó tạo đc scope mới cho variable. That’s all!