Какое свойство оповещения показывает мне? - PullRequest
3 голосов
/ 18 января 2010

Когда я пишу Javascript, я использую window.alert () для отладки. Обычно я передаю переменные для оповещения, и они всплывают со строкой, содержащей значение этих переменных. Однако, если я передаю предупреждение объекту, он сообщает мне тип объекта. Например:

var form = document.getElementById("my_form");
alert(form); // returns [object HTMLFormElement]

Этот бит, часть, которая говорит [объект бла-бла]. Что это за свойство? Недавно я начал создавать свои собственные объекты для инкапсуляции полезных частей сайта, над которым я работаю ... но когда я передаю свои собственные объекты для оповещения, это дает мне общее сообщение [объектный объект], которое не очень полезно, если у меня есть сделал кучу разных видов объектов. Я бы предпочел, например, чтобы мой объект возвращал мне что-то более похожее на [объект My_Object].

Есть ли свойство, которое я могу установить в функции My_Object (), которое сообщит alert, что я хочу, чтобы оно сообщило мне?

Спасибо!

г.

Ответы [ 3 ]

6 голосов
/ 18 января 2010

Вы должны перезаписать метод toString(). В противном случае будет использоваться Object.prototype.toString, что возвращает "[object Foo]", где Foo - это значение внутреннего (т.е. недоступного) свойства класса объекта.

4 голосов
/ 18 января 2010

Попробуйте переопределить «toString ()» вашего прототипа класса: он используется для создания строкового типа объекта. По умолчанию это [object <type>], но это не то, что вы хотите, не так ли.

Хотя, «Вы можете переопределить этот метод для пользовательских объектов, которые вы создаете. Если вы не переопределяете toString в пользовательском объекте, toString возвращает [object type], где тип - тип объекта или имя созданной функции конструктора объект. ", http://www.synchro.net/docs/js/ref/object.html#1193350

2 голосов
/ 20 января 2010

Вместо отладки с помощью alert () вы должны взглянуть на Firebug и выдающийся инструмент веб-разработки с улучшенной проверкой HTML, отладкой javascript и другими вкусностями.

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