关于自增/减操作符的问题

ysai 2013-11-14 05:17:49
JavaScript语言精粹里,糟粕一章说
++ 与 --
大多数的缓冲区溢出错误所造成的安全漏洞,都是由于像这样的编码而导致的。

如何解释?

平时使用
for(var i=0;i<arr.length;i++)
if(x<100)x++;
而不使用
a=b++ + ++c;
这种语法,也会有问题?
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
muyuruhai 2013-11-15
  • 打赏
  • 举报
回复
我们发现这种写法直接给警告,维护上的灾难〜
Go 旅城通票 2013-11-15
  • 打赏
  • 举报
回复
5. ++ 与 -- 自增与自减运算符使得程序员可以用非常简洁的风格去编码。当我们使用++和--时,代码往往变得过于紧密、复杂和隐晦,事实上,这两个运算符容易促成一种不谨慎的编程风格。大多数的缓冲区溢出错误所造成的安全漏洞,都是由于像这样的编码而导致的。避免使用它们,会让我们的代码风格变得更为整洁。 说的是如果使用不当,这2个操作符很容易导致缓存区溢出,就是死循环之类的,并不是说--/++导致缓冲区溢出
ysai 2013-11-14
  • 打赏
  • 举报
回复
>>大多数的缓冲区溢出错误所造成的安全漏洞,都是由于像这样的编码而导致的。 主要是想问,这句表现在哪?自增操作符如何导致安全漏洞? 至于 a=b++ + ++c;我已经说了不会这样写的,但是会这样写: for(var i=0;i<arr.length;i++) if(x<100)x++;
别闹腰不好 2013-11-14
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
a=b++ + ++c;你这样写看着不蛋痛吗?
看着都疼
Go 旅城通票 2013-11-14
  • 打赏
  • 举报
回复
a=b++ + ++c;你这样写看着不蛋痛吗?
天际的海浪 2013-11-14
  • 打赏
  • 举报
回复
b=2; c=5; a=b++ + ++c; alert(a); 这个没有问题,注:加号中间的空格不能去掉

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧