JSLint 中出现意外的“=”错误
Posted
技术标签:
【中文标题】JSLint 中出现意外的“=”错误【英文标题】:Unexpected '=' error in JSLint 【发布时间】:2012-10-21 15:37:31 【问题描述】:我在一个 zepto 扩展 js 文件上使用了 JSLint
它抛出了错误:
Unexpected '='. line 33 character 37
第 33 行:
return (document.cookie = [encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value), options.expires ? '; expires=' + options.expires.toUTCString() : '', options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join(''));
这是什么意思?
【问题讨论】:
【参考方案1】:将其拆分为 2 个语句:
document.cookie = [encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value), options.expires ? '; expires=' + options.expires.toUTCString() : '', options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join('');
return document.cookie;
通常您不会在 return
表达式中使用赋值。
【讨论】:
@zerkms.. 为什么会有问题.. ??值先赋值后右返回 @Sushanth --: 从什么角度看问题? JSLint 会向您提示潜在问题 和不良做法。在这种情况下,它可能是:混淆=
和==
的问题,或者只是误用赋值
我知道这是一个不好的做法,但想知道这是否只是从 JSLint 的角度来看。因为通常正确的值将由函数返回
@Sushanth --: 嗯,JSLint 有更奇怪的检查,例如:***.com/q/3000276/251311 但在这种情况下,我 100% 同意 JSLint,我认为这只是一个糟糕的编码实践的例子
以上是关于JSLint 中出现意外的“=”错误的主要内容,如果未能解决你的问题,请参考以下文章
JSLint 的“语句位置出现意外的表达式‘i’”是啥意思?