Javascript增量(++)警告[重复]

Posted

技术标签:

【中文标题】Javascript增量(++)警告[重复]【英文标题】:Javascript increment ( ++) warning [duplicate] 【发布时间】:2016-07-02 21:44:21 【问题描述】:

我注意到,jslint 警告我有关增量:

var x = 1;

x++;

语句位置出现意外的表达式“++”。

来自文档:

它们在启用病毒和其他安全威胁方面仅次于错误的架构

病毒如何利用它?

有人可以解释为什么它不好以及它会导致什么吗?

【问题讨论】:

x += 1 它并没有为此抱怨。 为什么?为什么++不好? 基本上 Doug Crockford 不喜欢 ++,因此 JSLint 会发出警告。请改用 JSHint/ESLint。远不那么固执/更可配置。 【参考方案1】:

我不知道你为什么看不懂documentation,无论如何:

++ 和 --

已知 ++ 递增和 -- 递减运算符 通过鼓励过度的技巧来促成糟糕的代码。他们是 在启用病毒和其他方面仅次于错误的架构 安全威胁。此外,前增量/后增量混淆可以 产生非常难以诊断的错误。 幸运的是,它们也完全没有必要。有更好的方法 给变量加 1。

最好完全避免使用这些运算符并依赖 += 和 -= 而是。

更新:一旦原始问题更改,这里是新问题的答案:

引用短语的主要思想是你可以犯错误并提供安全漏洞(可能被病毒利用),想象一下从用户获取值并写入数据库的伪nodejs代码:

arguments = array('sql'=>'query');
i=0;
if (arguments[i]=='sql' and arguments[i++] does not contain drop table)
    exec db query arguments[i];
if (arguments[i]=='file' and arguments[i++] is not executable js/php)
    save content of arguments[i] as file on disk, so it can be executed

这里是,后增量中的小错误会导致安全漏洞

【讨论】:

为什么?病毒如何利用它?

以上是关于Javascript增量(++)警告[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何摆脱增量注释处理请求的警告?

javascript基本语法

用于关系可视化的javascript框架[重复]

使用javascript打印用户的IP地址[重复]

使用 JavaScript BigQuery UDF 解密/解码 AES256 [重复]

一旦用户导航到Javascript中的新页面,就禁止用户使用后退按钮[重复]