[英]What does the JSLint error “Bad type.” mean?
在運行我正在通過 JSLint 開發的 JavaScript 文件時,我遇到了這個錯誤:
Problem at line 387 character 68: Bad type.
$iframe_contents.find('ul:last').append(OA_output['web' + x]);
我不確定“壞類型”是什么意思,也無法通過一些搜索找到更多關於它的信息。 根據這行代碼正在執行 JSLint 不同意的一些隱式類型轉換的理論,我將['web' + x]
部分更改為['web']
,並且修復了錯誤。 這支持了我的理論,因為x
是 integer,並且解釋器需要將類型轉換為 append 到字符串web
。
這引出了我的問題——這確實是“錯誤類型”所指的錯誤,如果是這樣,將 integer 附加到這樣的字符串是否存在固有的錯誤或危險? 編寫這行代碼以避免此錯誤的正確方法是什么(最好不要只是安撫 JSLint)?
如果需要,這里有一些關於這行代碼包含的內容的快速背景:
$iframe_contents
是緩存的 jQuery object: $('iframe').contents()
。.find()
and .append()
are jQuery methods ( http://api.jquery.com/find/ and http://api.jquery.com/append/ , respectively).OA_output
是一個 object,其中OA_output['web' + x]
包含一個字符串。 確實是這樣。 JSLint 會指出字符串和數字之間的類型不一致,即使 JS 解釋器可以很好地處理它。 如果你把它OA_output['web' + x.toString()]
你不應該有這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.