什么是“过度诡计”?

时间:2011-12-29 11:19:44

标签: javascript terminology

在阅读道格拉斯·克罗克福德的“JavaScript:The Good Parts”和斯托扬·斯特凡诺夫的“JavaScript模式”后,我试图确定“过度棘手”的含义。他们都说在您的代码中使用++--时会出现这种情况,但无法在SO内或通过Google搜索找到此术语的固定定义。有什么想法吗?

4 个答案:

答案 0 :(得分:5)

你可以在这里听到克罗克福德的消息:http://www.youtube.com/watch?feature=player_detailpage&v=47Ceot8yqeI#t=4140s

简单的答案是++--对变量起作用,并且通常在您对该变量执行其他操作的同时执行此操作。例如,你能快速决定它的作用吗?

y += x++ + ++y; // what is y now?

更多StackOverflow讨论:Why avoid increment ("++") and decrement ("--") operators in JavaScript?

答案 1 :(得分:1)

这是关于内置的小技巧。例如,avar++avar = avar + 1的别名。

JavaScript充满了运算符和其他使编程更容易的东西,但它们只是技巧。这可能就是他的意思。

另外,正如乔纳森指出:Why avoid increment ("++") and decrement ("--") operators in JavaScript?

答案 2 :(得分:0)

过度的诡计是主观的。因此,它没有明确的定义。

有人会说C着名的字符串复制代码(while (*p++ = *q++);)过于棘手,有些人会说它不是。

答案 3 :(得分:0)

这是一个相当长的讨论链接:

Why avoid increment ("++") and decrement ("--") operators in JavaScript?

我认为这个想法的一部分是,当在任何地方使用这些运算符但在单行上使用单个变量时,它们会让那些不在开发人员头脑中的人感到困惑。