" What does mean?" 的意思是什麼?
P粉358281574
P粉358281574 2023-08-17 10:48:39
0
2
917
<p>我正在嘗試從一個函數中<code>alert</code>返回的值,並且在彈出框中得到了以下內容:</p> <pre class="brush:none;toolbar:false;">[object Object] </pre> <p>以下是JavaScript程式碼:</p> <pre class="brush:html;toolbar:false;"><script type="text/javascript"> $(function () { var $main = $('#main'), $1 = $('#1'), $2 = $('#2'); $2.hide(); // 頁面載入時隱藏div#2 $main.click(function () { $1.toggle(); $2.toggle(); }); $('#senddvd').click(function () { alert('hello'); var a=whichIsVisible(); alert(whichIsVisible()); }); function whichIsVisible() { if (!$1.is(':hidden')) return $1; if (!$2.is(':hidden')) return $2; } }); </script> </pre> <p><code>whichIsVisible</code>是我正在嘗試檢查的函數。 </p>
P粉358281574
P粉358281574

全部回覆(2)
P粉458913655

正如其他人指出的那樣,這是一個物件的預設序列化。但為什麼它是[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中談論“objects”時,實際上是指的“物件物件”,而不是其他類型。

其中stringify應該是這樣的:

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

#
P粉465287592

將物件轉換為字串的預設結果是"[object Object]"

由於您正在處理jQuery對象,您可能想要執行以下操作

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

以列印元素的ID。

如評論中所提到的,您應該使用Firefox或Chrome等瀏覽器中包含的工具來檢查對象,而不是使用alert,可以執行console.log(whichIsVisible( ))

附註:ID不應以數字開頭。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!