suchen

Heim  >  Fragen und Antworten  >  Hauptteil

"Was bedeutet dieses Wort?"

<p>Ich versuche, einen Rückgabewert von einer Funktion abzurufen, und im Popup erhalte ich Folgendes: </p> <pre class="brush:none;toolbar:false;">[object Object] </pre> <p>Dies ist der JavaScript-Code: </p> <pre class="brush:html;toolbar:false;"><script type="text/javascript"> $(Funktion () { var $main = $('#main'), $1 = $('#1'), $2 = $('#2'); $2.hide(); // Div#2 ausblenden, wenn die Seite geladen wird $main.click(function () { $1.toggle(); $2.toggle(); }); $('#senddvd').click(function () { alarm('hallo'); var a=whichIsVisible(); alarm(whichIsVisible()); }); Funktion whichIsVisible() { if (!$1.is(':hidden')) return $1; if (!$2.is(':hidden')) return $2; } }); </script> </pre> <p><code>whichIsVisible</code> ist die Funktion, die ich überprüfen möchte. </p>
P粉696605833P粉696605833469 Tage vor419

Antworte allen(2)Ich werde antworten

  • P粉818317410

    P粉8183174102023-08-21 12:37:52

    正如其他人所指出的那样,这是对象的默认序列化。但为什么它是[object Object]而不仅仅是[object]呢?

    那是因为在Javascript中有不同类型的对象!

    • 函数对象
      stringify(function (){}) -> [object Function]
    • 数组对象
      stringify([]) -> [object Array]
    • 正则表达式对象
      stringify(/x/) -> [object RegExp]
    • 日期对象
      stringify(new Date) -> [object Date]
    • 还有更多
    • 还有对象对象
      stringify({}) -> [object Object]

    这是因为构造函数被称为Object(大写的“O”),而术语“object”(小写的“o”)指的是事物的结构性质。

    通常,在Javascript中谈论“对象”时,实际上是指“对象对象”,而不是其他类型。

    其中stringify应该是这样的:

    function stringify (x) {
        console.log(Object.prototype.toString.call(x));
    }

    Antwort
    0
  • P粉611456309

    P粉6114563092023-08-21 11:12:52

    将对象转换为字符串的默认结果是"[object Object]"

    由于您正在处理jQuery对象,您可能希望执行以下操作

    alert(whichIsVisible()[0].id);

    以打印元素的ID。

    如评论中所提到的,您应该使用Firefox或Chrome等浏览器中包含的工具来检查对象,而不是使用alert,方法是执行console.log(whichIsVisible())

    附注:ID不应以数字开头。

    Antwort
    0
  • StornierenAntwort