【发布时间】:2011-06-13 02:11:28
【问题描述】:
在运行我正在通过 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 是一个整数,解释器需要执行类型转换才能将其附加到字符串web。
这引出了我的问题——这确实是“错误类型”所指的错误,如果是这样,将整数附加到这样的字符串是否存在固有的错误或危险?编写这行代码以避免此错误的正确方法是什么(最好不要只是安抚 JSLint)?
如果需要,这里有一些关于这行代码包含的内容的快速背景:
-
$iframe_contents是一个缓存的 jQuery 对象:$('iframe').contents()。 -
.find()和.append()是 jQuery 方法(分别为 http://api.jquery.com/find/ 和 http://api.jquery.com/append/)。 -
OA_output是一个对象,其中OA_output['web' + x]包含一个字符串。
【问题讨论】:
标签: javascript jquery types type-conversion jslint