что означает [object Object]?
Я пытаюсь предупредить возвращаемое значение из функции, и я получаю это в alert
[object Object]
вот код javascript
<script type="text/javascript">
$(function ()
{
var $main = $('#main'),
= $('#1'),
= $('#2');
.hide(); // hide div#2 when the page is loaded
$main.click(function ()
{
.toggle();
.toggle();
});
$('#senddvd').click(function ()
{
alert('hello');
var a=whichIsVisible();
alert(whichIsVisible());
});
function whichIsVisible()
{
if (!.is(':hidden')) return ;
if (!.is(':hidden')) return ;
}
});
</script>
whichIsVisible-это функция, которую я пытаюсь проверить на
7 ответов:
преобразование объекта в строку по умолчанию
"[object Object]"
.как вы имеете дело с объектами jQuery, вы можете сделать
alert(whichIsVisible()[0].id);
для печати идентификатора элемента.
как уже упоминалось в комментариях, вы должны использовать дополнительные инструменты, такие как Firebug для Firefox, чтобы интроспектировать объекты, делая
console.log(whichIsVisible())
вместоalert
(нет необходимости в дополнительных инструментах в Chrome или Safari).Примечание: идентификаторы не должны начинаться с десятичные знаки.
как отмечали другие, это сериализация объекта по умолчанию. Но почему это
[object Object]
и не только[object]
?это потому, что существуют различные типы объектов в Javascript!
- объекты функции:
stringify(function (){})
->[object Function]
- объекты Array:
stringify([])
->[object Array]
- объекты регулярных выражений
stringify(/x/)
->[object RegExp]
- дата объекты
stringify(new Date)
->[object Date]
- ...несколько...
- и объект!
stringify({})
->[object Object]
это потому, что функция-конструктор вызывается
Object
(С большой буквы "О"), а термин "объект" (с маленькой буквы "О") относится к структурной природе вещи.обычно, когда вы говорите об" объектах " в Javascript, вы на самом деле значит"объект", а не другие типы.
здесь
stringify
должен выглядеть так:function stringify (x) { console.log(Object.prototype.toString.call(x)); }
[object Object]
является по умолчанию toString представление объекта в javascript.Если вы хотите знать свойства вашего объекта, просто foreach над ним, как это:
for(var property in obj) { alert(property + "=" + obj[property]); }
в вашем конкретном случае, вы получаете объект jQuery. Попробуйте сделать это вместо:
$('#senddvd').click(function () { alert('hello'); var a=whichIsVisible(); alert(whichIsVisible().attr("id")); });
это должно предупредить идентификатор видимого элемента.
это значение, возвращаемое этим объектом
toString()
[object Object]
является строковым представлением JavaScript по умолчаниюObject
. Это то, что вы получите, если вы запустите этот код:alert({}); // [object Object]
вы можете изменить представление по умолчанию, переопределяя
toString
метод вот так:var o = {toString: function(){ return "foo" }}; alert(o); // foo
у вас есть объект JavaScript
и
являются объектами jquery, возможно использовать
alert(.text());
чтобы получить текст илиalert(.attr('id');
etc...вы должны относиться к
и
как объекты jQuery.
Вы можете увидеть значения внутри [Object объект], как это
Alert.alert( JSON.stringify(userDate) );
попробуйте вот так
realm.write(() => { const userFormData = realm.create('User',{ user_email: value.username, user_password: value.password, }); }); const userDate = realm.objects('User').filtered('user_email == ', value.username.toString(), ); Alert.alert( JSON.stringify(userDate) );
ссылка