Каждый объект - это функция, а каждая функция - объект. Что является правильным? - PullRequest
43 голосов
/ 10 августа 2010

Я читал эту ссылку JavaScript_syntax

Это кажется цикличным - каждая функция является объектом, а каждый объект сам является функцией.Какой атом?Может кто-нибудь объяснить лучше?

Ответы [ 13 ]

1 голос
/ 10 августа 2010

Каждая функция является объектом.

Я не эксперт по javascript, но я не вижу, как каждый объект является функцией.(Я вижу, как каждый объект может быть функцией, но это не так)

0 голосов
/ 13 марта 2013

выбранный ответ Аарона Дигуллы не на 100% правильный, потому что он говорит,

Все, что не является примитивным типом (неопределенное, нулевое, число, строка , логическое значение) является объектом.

, но строка является объектом.Вот почему вы можете делать такие вещи, как:

myString="Hello World";

x = myString.length;
newString = myString.toUpperCase();
link = myString.link("http://www.hello-world.com/");

И многие другие методы могут быть применены к строковому объекту.

Вы также можете инициализировать строку как:

myString = new String("Hello, World!");

Но поскольку строка также является типом данных, ее гораздо проще инициализировать, просто применяя значение.

Не обязательно ответ на вопрос ... просто уточнение / исправление ответа Аарона Дигуллы.

0 голосов
/ 20 января 2013

Выбранный ответ неверен. В JavaScript все является функцией, кроме примитивных типов. Сам объект - это функция, которая называется функцией Object (). Используйте, например, следующий код:

<script>
    alert(Object);
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...