"どういう意味?"
P粉358281574
2023-08-17 10:48:39
<p>関数 <code>alert</code> から返された値を取得しようとすると、ポップアップに次のメッセージが表示されます。
<pre class="brush:none;toolbar:false;">[オブジェクト オブジェクト]
</pre>
<p>次は JavaScript コードです。</p>
<pre class="brush:html;toolbar:false;"><script type="text/javascript">
$(関数()
{
var $main = $('#main'),
$1 = $('#1')、
$2 = $('#2');
$2.hide(); // ページのロード時に div#2 を非表示にします
$main.click(関数()
{
$1.toggle();
$2.toggle();
});
$('#senddvd').click(function ()
{
アラート('こんにちは');
var a=どれが見えるか();
アラート(どのIsVisible());
});
関数 whichIsVisible()
{
if (!$1.is(':hidden')) $1 を返します。
if (!$2.is(':hidden')) $2 を返します。
}
});
</スクリプト>
</pre>
<p><code>whatIsVisible</code> は、チェックしようとしている関数です。 </p>
他の人が指摘したように、これはオブジェクトのデフォルトのシリアル化です。しかし、なぜ単に
[object]
ではなく[object Object]
なのでしょうか?これは、JavaScript にはさまざまなタイプのオブジェクトがあるためです。
stringify(function (){})
->[オブジェクト関数]
stringify([])
->[オブジェクト配列]
stringify(/x/)
->[オブジェクト正規表現]
stringify(新しい日付)
->[オブジェクトの日付]
stringify({})
->[オブジェクト オブジェクト]
これは、コンストラクターが
Object
(大文字の「O」) と呼ばれ、「オブジェクト」(小文字の「o」) という用語がオブジェクトの構造的性質を指すためです。通常、JavaScript で「オブジェクト」について話すときは、実際には他のタイプではなく、「Object オブジェクト 」を意味します。
どこで
リーリーstringify
は次のようになります:オブジェクトを文字列に変換したデフォルトの結果は、
"[object Object]"
です。jQuery オブジェクトを扱っているため、次のことを実行するとよいでしょう
リーリー要素の ID を出力します。
コメントで述べたように、オブジェクトを検査するには、Firefox や Chrome などのブラウザに含まれるツールを使用する必要があります。
alert
を使用する代わりに、console.log(thatIsVisible( )) を実行できます。
。注: ID を数字で始めることはできません。