"Was bedeutet dieses Wort?"
P粉696605833
2023-08-20 16:52:15
<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>
正如其他人所指出的那样,这是对象的默认序列化。但为什么它是
[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
应该是这样的:将对象转换为字符串的默认结果是
"[object Object]"
。由于您正在处理jQuery对象,您可能希望执行以下操作
以打印元素的ID。
如评论中所提到的,您应该使用Firefox或Chrome等浏览器中包含的工具来检查对象,而不是使用
alert
,方法是执行console.log(whichIsVisible())
。附注:ID不应以数字开头。