提问人:Charles Anderson 提问时间:11/2/2011 最后编辑:Charles Anderson 更新时间:6/15/2016 访问量:1595
为什么 Eclipse 有时会警告 JavaScript 中的数组数组?
Why does Eclipse sometimes warn about arrays of arrays in JavaScript?
问:
在 Eclipse 中,以下 JavaScript 行
var a1 = [[1, 2], [3, 4]];
生成警告:
Type mismatch: cannot convert from Number[] to any
Type mismatch: cannot convert from Number[] to any
而
var a2 = [['w', 'x'], ['y', 'z']];
生成:
Type mismatch: cannot convert from String[] to any
Type mismatch: cannot convert from String[] to any
和
var a3 = [[1, 2], ['y', 'z']];
生成:
Type mismatch: cannot convert from Number[] to any
Type mismatch: cannot convert from String[] to any
但是,这些行都没问题:
var a4 = [[1, 'x'], [3, 'y']];
var a5 = [[1, 2]];
var a6 = [['x', 'y']];
当子数组包含相同的基元类型时,数组的数组似乎存在问题。但是,我不明白为什么,代码似乎执行正常。有人可以解释一下 Eclipse 担心什么吗?
答:
6赞
Paul Butcher
11/2/2011
#1
它看起来像一个错误。在 Javascript 中基本上没有类型不匹配这样的事情。
我冒昧地猜测,这样做的解析器是基于 Java 解析器的,这是原始解析器的一部分。
评论
1赞
Paul Butcher
11/2/2011
下面是 eclipse 中类似 bug 的一个示例。
0赞
Charles Anderson
11/3/2011
是的,我认为你一定是对的。还有其他一些相当可疑的警告,例如“var i;for (i in obj)“给出”局部变量 i 可能尚未初始化“。
0赞
Dominic Cerisano
6/15/2016
#2
eclipse 中的 javascript 验证器可以在首选项中过滤掉这些。
评论