2014-01-12 2 views
2

Я пытаюсь понять язык javascript. Я изучаю различия между функциями и методами.Объекты Javascript могут иметь несколько методов, не так ли?

Этот ответ объясняет, что методы являются функциями, присоединенные к объектам: Difference between a method and a function

Но this статья из MDN говорит, что

Значение свойства может быть функцией, которая затем известен как объекта, метод.

Предложение из MDN подразумевает, что объекты JS имеют одинарные методы. Это верно? Другими словами: могут ли объекты javascript иметь несколько методов? Или есть концепция javascript, примерно такая же, как «Метод объекта».

+1

Как насчет того, чтобы попробовать? Боковое замечание: нет никакой реальной разницы между функцией и методом в JavaScript. – freakish

+0

Вы, кажется, слишком сосредоточены на этом одном предложении. Прочитайте всю статью, и вы получите ответ. –

+0

@ Исчезновение метода может использовать слово this, и оно будет ссылаться на контекст объектов. Если функция использует это слово, это относится к объекту. Правильно? – bernie2436

ответ

1

Объекты Javascript могут иметь несколько методов.

Я нахожу quote менее запутанным, если мы сохраняем оригинальный курсив:

Значения свойства может быть функцией, которая затем известная как метод объекта.

«the» идет с «объектом», а не «методом».

+0

Вероятно, было бы менее сложно, если бы цитата была «... тогда известна как метод объекта AN». В этом отношении они могли бы оставить «объект» полностью. –

0

Он может иметь несколько методов. Но он может иметь только одно значение за раз. Но у вас может быть даже несколько методов, каждый из которых возвращает значение ...

1

Объект может иметь несколько атрибутов. Эти атрибуты могут содержать функции. Функции также являются объектами, поэтому они, в свою очередь, также могут иметь несколько атрибутов и т. Д.

+0

Конструкторы функций возвращают объекты, но функции не являются объектами: каждый из них является отдельным типом в системе типа JavaScript. –

+0

Это как сказать, что класс String не является классом, это String (например, в Java), но он по-прежнему является классом. [Функция, созданная с помощью оператора 'function', является' Function object'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function#Description) –

+0

Я был слишком упрощенное: вы абсолютно правы, функции ARE Objects. Они наследуют функцию Function.prototype, поэтому мы применяем, вызываем, связываем и т. Д. Если, однако, вы выполняете типof над функцией, значение будет «function», а не «Object». –

1

Объекты Javascript могут иметь несколько методов, я думаю, тот, кто написал эту статью, просто сформулировал ее неправильно или немного неоднозначно.

объекты
0

JS может иметь несколько методов, как

  • window.alert ("");
  • window.confirm ("");
  • window.prompt ("");
Смежные вопросы