为什么Eclipse有时会警告JavaScript中的数组数组?

时间:2011-11-02 09:54:55

标签: javascript arrays eclipse

在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担心的事情吗?

2 个答案:

答案 0 :(得分:6)

它看起来像一个bug。在Javascript中基本上没有类型不匹配的东西。

我猜测这样做的解析器是基于Java解析器的,这是一个原始解析器的一点点。

答案 1 :(得分:0)

eclipse中的javascript验证器可以在首选项中过滤掉这些。