что означает [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 60

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)  );

ссылка

https://off.Токио/блог/реагировать родной объект-объект/