прототипы, объекты, конструкторы, "это", функции - PullRequest
1 голос
/ 24 июня 2011

Как

  • прототипы
  • объекты
  • конструкторы
  • "this"
  • функции

работают в JS по отношению друг к другу (и что это такое; является ли конструктор функцией, объектом, прототипом, «этим»)?

Может кто-нибудь объяснить это?У меня есть представление о том, чем является каждый из них и как они работают, но не совсем ясно.

Я думаю, что было бы легче понять возникающие вопросы, например: «Является ли a.constructorтак же, как a.prototype.constructor ", если кто-то знает, что это за вещи.

1 Ответ

2 голосов
/ 24 июня 2011

Объект - набор пар имя-значение, например:

var someObject = {
    aName: "aValue",
    name2: "value2"
}

Конструктор - функция, которая «создает» объект, например:

function someObject(someParam) {
    this.someParam = someParam;
    this.getSomeParam = function() {
         return this.someParam;
    }
}

Прототип - особый тип объекта, от которого другие объекты наследуют свойства. У каждого объекта есть прототип. Вы можете использовать их для добавления метода ко всем экземплярам объекта, например:

String.prototype.doSomething = function() {
    //Do something with a String
}

Теперь, когда вы определили метод doSomething в прототипе String, все объекты String могут использовать его:

var myString = "Hello";
myString.doSomething();

Для получения дополнительной информации о языке JavaScript и о том, как он работает, я предлагаю вам взглянуть на спецификацию ECMAScript , или что-то более легкое, читайте this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...