如何解决JSLint错误“错误类型”是什么意思?
| 运行通过JSLint开发的JavaScript文件时,遇到此错误:Problem at line 387 character 68: Bad type.
$iframe_contents.find(\'ul:last\').append(OA_output[\'web\' + x]);
我不确定“坏类型”是什么意思,也无法通过一些搜索找到有关它的更多信息。根据这一行代码正在执行JSLint不同意的某种隐式类型转换的理论,我将[\'web\' + x]
部分更改为just2ѭ,并修复了错误。这为我的理论提供了支持,因为x
是一个整数,并且解释器将需要执行类型转换以将其附加到字符串web
上。
这引出了我的问题-这确实是错误“错误类型”所指的含义吗?如果是这样,将整数附加到这样的字符串上是否存在内在的错误或危险?编写此代码行来避免此错误的正确方法是什么(理想情况下不只是安抚JSLint)?
如果需要,这里是此代码行包含内容的一些快速背景知识:
$iframe_contents
是一个缓存的jQuery对象:$(\'iframe\').contents()
。
.find()
和.append()
是jQuery方法(分别为http://api.jquery.com/find/和http://api.jquery.com/append/)。
“ 9”是一个对象,其中“ 10”包含一个字符串。
解决方法
确实是这样。 JSLint会指出字符串和数字之间的类型不一致,即使JS解释器可以很好地处理它也是如此。如果将其更改为
OA_output[\'web\' + x.toString()]
,则不会有此问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。