2012-07-18 26 views
3

今天我看着jQuery函數removeClass的源代碼:
有以下行:jQuery的源代碼,類名與換行?

className = (" " + elem.className + " ").replace(rclass, " "); 

rclass:

rclass = /[\n\t\r]/g, 

在大衛的書 「的JavaScript Definitve指南」 Flanagan,第6版,第438頁,有以下句子:

...,所以HTML類屬性是使用 名稱className可用JavaScript代碼。 ...並且class屬性包含空格分隔的類名稱列表 。

爲什麼jQuery編碼人員認爲類名也可以通過製表符和換行符分開?

回答

7

許多網絡「開發人員」對他們在做什麼幾乎一無所知,因此編寫包含例如代碼的蹩腳代碼。製表符或換行符分隔的類名稱。

這是一個普遍的原則,「在閱讀時要慷慨大方,在寫作時要嚴謹」,即接受那些並不真正遵循標準但不會創造這種東西的東西。

+1

aka由Jon Postel在RFC 761中提出的「穩健性原則」。 – Alnitak 2012-07-18 08:34:57