2012-04-25 97 views
18

Eclipse是抱怨我的JavaScript代码:的Eclipse:类型不匹配:不能从字符串[]转换为任何

enter image description here

由于FAS我所知道的,代码工作正常。为了摆脱警告我需要改变什么?

+1

看来,你有一个额外的逗号在'textArray []'中的最后一行的末尾。 Eclipse等待另一个[]'-definition,而不是'textArray []'的结束括号。 – Teemu 2012-04-25 06:47:31

+0

我删除了逗号,但没有任何更改。 – BetaRide 2012-04-25 06:56:33

回答

19

语义验证程序(尽管它像这样的缺陷)实际上有很多用途。例如,它可以告诉你什么时候你有一个在任何地方都没有使用的变量(例如,因为你在变量名中有一个拼写错误)。

如果你不希望看到错误消息,但您仍想保留语义验证,你可以使用这个技巧:

var textArray = 0 || [ ... 

这是一个有点难看,你非Eclipse的使用同事可能不喜欢它,但至少它可以让你摆脱警告并仍然具有验证者的好处。

类似的黑客攻击(如果你不喜欢第一个,或者如果你是一个大的道格拉斯Crockford的风扇),也将工作:

var textArray; 
textArray = [ ... 
+2

对我来说,这绝对是一个比关闭语义验证更好的选择。同意,虽然验证存在缺陷,但在许多情况下它肯定有帮助。而'0 ||'诀窍解决了我发现的各种各样的偶然错误。 – 2014-03-31 17:57:07

15

似乎是一个WTP的bug,更具体的JS Validator组件默认配置为“启用JavaScript语义验证”。

尝试关闭首选项页面的语义验证。

+0

谢谢,这删除了警告。但是,通过禁用语义验证,我会失去什么? – BetaRide 2012-04-25 08:12:55

+0

您松散的语义验证,但它不是非常有用,更糟糕的是,目前该功能有很多错误。 – aleroot 2012-04-25 08:15:12

+0

现在是2017年,现在要禁用的语义验证有多bug? – StR 2017-04-12 02:32:25

相关问题