Javascript JSLint错误是什么;坏类型。”;什么意思?
在运行通过JSLint开发的JavaScript文件时,我遇到了以下错误:Javascript JSLint错误是什么;坏类型。”;什么意思?,javascript,jquery,types,type-conversion,jslint,Javascript,Jquery,Types,Type Conversion,Jslint,在运行通过JSLint开发的JavaScript文件时,我遇到了以下错误: Problem at line 387 character 68: Bad type. $iframe_contents.find('ul:last').append(OA_output['web' + x]); 我不确定“坏类型”是什么意思,也无法通过搜索找到更多关于它的信息。基于这行代码正在进行一些JSLint不同意的隐式类型转换的理论,我将['web'+x]部分更改为['web'],并修复了错误。这支持了我
Problem at line 387 character 68: Bad type.
$iframe_contents.find('ul:last').append(OA_output['web' + x]);
我不确定“坏类型”是什么意思,也无法通过搜索找到更多关于它的信息。基于这行代码正在进行一些JSLint不同意的隐式类型转换的理论,我将['web'+x]
部分更改为['web']
,并修复了错误。这支持了我的理论,因为x
是一个整数,解释器需要执行类型转换才能将其附加到字符串web
这就引出了我的问题——这真的是错误“bad type”所指的吗?如果是的话,将整数附加到这样的字符串中是否存在固有的错误或危险?编写这行代码以避免此错误的正确方法是什么(理想情况下不是为了安抚JSLint)
如果需要,下面是关于这行代码所包含内容的一些快速背景信息:
是一个缓存的jQuery对象:$iframe\u contents
$('iframe').contents()
和.find()
分别是jQuery方法和.append()
是一个对象,其中OA_输出
包含一个字符串OA_输出['web'+x]
- 事实就是这样。JSLint将指出字符串和数字之间的类型不一致,即使JS解释器可以很好地处理它。如果您将其更改为
OA_output['web'+x.toString()]
您不应该有这个问题