千巷貓影
2019-12-21 12:36:00
我注意到很多jQuery插件都以;(function(){ /* something in here */ })();我只是想知道開始的分號是什么意思,以及末尾的空括號是什么。
3 回答

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
如果您在某些“錯誤”腳本之后添加了該腳本,而該“腳本”不能正確地用分號結束其最后一行,則可以使用分號。在這種情況下,可能會合并兩個腳本并導致代碼無效。例如,如果要將多個腳本合并到單個響應中。
最后的()正在執行該函數。這正在創建一個關閉。可以在此函數的范圍內聲明私有變量和方法,這些私有變量和方法不能從腳本外部訪問。

慕少森
TA貢獻2019條經驗 獲得超9個贊
這個構造:
(function(){ /* something in here */ })()
用于在Javascript中創建新作用域。
有關功能范圍的更多信息,請參見此處。
關于分號,我以前從未見過。我認為串聯多個腳本是一種安全措施,因為在某些情況下,分號在文件末尾是可選的。

qq_花開花謝_0
TA貢獻1835條經驗 獲得超7個贊
很公平。我相信您可以按照自己的風格編寫代碼。確實,最佳做法是主觀的。您的陳述“一旦知道了何時以分號開始的規則...”,便揭示了為什么總是使用分號是最佳實踐。因為那樣您就不需要知道這些附加規則,并且希望其他人也都知道。如果我們所有人一直都擁有完善的知識,那么我們可以使用二進制編程,但事實并非如此。最佳實踐可以為我們提供幫助。當然,是否選擇遵循完全取決于您。
添加回答
舉報
0/150
提交
取消