6

我有 jslint 抱怨我在||下面的代码中使用运算符,

query = ['browser' + (ieVersion ? ieVersion : 'UNKNOWN')]

我尝试使用||运算符,但结果错误,

query = ['browser' + ieVersion || 'UNKNOWN'] 
// => ['browserundefined']
4

3 回答 3

6

运算符优先级错误,试试这个:

query = ['browser' + (ieVersion || 'UNKNOWN')]

没有额外的括号+运算符更强大,JavaScript 引擎将其评估为:

query = [('browser' + ieVersion) || 'UNKNOWN']

请注意,这'browser' + ieVersion绝不是虚假的,因此您永远不会看到'UNKNOWN'.

于 2012-12-18T17:37:47.503 回答
2

括号?

query = ['browser' + (ieVersion || 'UNKNOWN')]
于 2012-12-18T17:37:45.977 回答
2

您需要将表达式括在括号中:

query = ['browser' + (ieVersion || 'UNKNOWN')]
于 2012-12-18T17:37:59.507 回答