一位同事劝我加入"use strict";
到我的JS代码顶部突出显示在我的定义和潜在的引用错误,等等。我很高兴与它的任何差距,因为它有确定了几条可能成为问题的代码。“使用严格”和函数命名参数来调用
然而,另一位同事劝我,叫其多个参数的函数时,它可以帮助作为指定他们命名的参数,尤其是如果它像一堆布尔值。为了说明,这里的一对夫妇的函数调用:
logData(data, target, preserveLog=true, changeClass=false, wrapLine=false);
...比更清晰一大堆:
logData(data, target, true, false, false);
但"use strict";
讨厌这一点。无论我在哪里,我都会在控制台中看到一个参考错误。它仍然运行良好,正如预期的那样,但控制台现在混杂着所有这些显然没有定义的参考。
有没有人知道是否有办法解决这个问题,这样我就可以保持我的同事们欣赏的编码约定,或者我将不得不停止使用"use strict";
或者查看所有代码并删除参数名称?
谢谢。
那么,严格的模式是正确的。这是一个可怕的做法。你在各处将价值渗透到全局变量中。不要这样做。 – Bergi
如果你想使用“命名参数”,[传递对象](https://stackoverflow.com/a/11796776/1048572)。 – Bergi
@Bergi谢谢,我可以改变一些更长的电话采取对象。 –