一位同事勸我加入"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謝謝,我可以改變一些更長的電話採取對象。 –