Как JavaScript делает OOP?
-
28-09-2019 - |
Вопрос
Я узнаю о создании объектов в JavaScript. Когда я делаю это ...
var Person = {
name: "John Doe",
sayHi: function() {
alert("Hi");
}
};
Я знаю, что я создаю экземпляр класса человека, но я не знаю, как (или если) я могу использовать этот класс, чтобы создать другой экземпляр. Какие функции OOP имеют JavaScript? У него есть такие же OO функций, что и другие языки, такие как Java, или Ruby? Может кто-нибудь, пожалуйста, объясните, как JavaScript делает OOP?
Решение
В вашем примере вы не создаете экземпляр класса человека. Вы создаете переменную с именем «человек», которая содержит анонимный объект.
Чтобы создать класс типа человека, который вы сделали:
function Person() {
this.name = "John Doe",
this.sayHi = function() {
alert("Hi");
}
}
var somebody = new Person();
В противном случае я думаю, что ваш вопрос слишком широкий и сложный. В Интернете есть множество товаров и учебников JavaScript (и книги в книжных магазинах). Иди и изучите их, и если вы не понимаете что-то конкретное, то отправьте здесь.
Другие советы
JavaScript не использует классы. Он использует прототипирование. Есть несколько способов создания новых объектов.
Вы могли бы сделать:
var john = Object.create(Person);
Или вы могли бы использовать new
ключевое слово:
function Person() = {
this.name = "John Doe",
this.sayHi = function() {
alert("Hi");
}
};
var john = new Person();
Для получения дополнительной информации прочитайте:
Крукфорд имеет хорошие объяснения здесь и т. д.
Есть несколько хороших онлайн-источников для чтения:
Проверьте статью Оран Луни об этом: http://oranlooney.com/classes-and-objects-javascript/
У него есть несколько хороших предметов JavaScript.