В JavaScript существует множество способов сделать одно и то же. Я, однако, взял некоторые способы, и некоторые способы, которых я откровенно не понимаю. Может ли кто-нибудь помочь мне прояснить некоторые вещи? (Сначала я изучил ООП в PHP.)
Таким образом, класс можно сделать следующим образом:
var object = new class(constructparams) {
var private_members; // Can be accessed from within the code inside this definition only.
this.public_members; // Can be accessed from everywhere.
var private_functions = function() {}
this.public_functions = function() {}
}
object.prototype.semi_public_members = function() {
// Will be public, but can only access public members and methods.
// E. g. private_members; is not available here.
}
До сих пор все это правильно?
Затем кому-то нравится самообучающийся анонимный функциональный подход для создания пространства имен. В чем смысл этого, когда вы делаете это выше, что делает то же самое, предоставляет пространство имен?
И, наконец, у вас есть объектная буквальная запись, которую я не понимаю.
var object = { // Something strange in here }
Что там происходит? Это JSON? Как он используется, как я могу его использовать. Каковы преимущества использования этого метода вместо использования метода, который я описал? Почему вы прототип вместо того, чтобы сделать класс правильно в первый раз?