"この言葉の意味は何ですか?"
P粉696605833
2023-08-20 16:52:15
<p>関数から戻り値をポップしようとすると、ポップアップで次のメッセージが表示されます: </p>
<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 で「オブジェクト」について話すとき、実際には他のタイプではなく、「ObjectObject」を意味します。
どこで
リーリーstringify
は次のようになります:オブジェクトを文字列に変換したデフォルトの結果は、
"[object Object]"
です。jQuery オブジェクトを扱っているため、次のことを実行するとよいでしょう
リーリー要素の ID を出力します。
コメントで述べたように、
alert
を使用する代わりに、Firefox や Chrome などのブラウザーに含まれるツールを使用して、console.log(thatIsVisible ())
を実行してオブジェクトを検査する必要があります。 。注: ID を数字で始めることはできません。