前端命名規(guī)范

一辛藻、文件命名

文件名不得含有空格
文件名建議只使用小寫字母,不使用大寫字母互订。( 為了醒目吱肌,某些說明文件的文件名,可以使用大寫字母屁奏,比如README岩榆、LICENSE错负。 )
文件名包含多個(gè)單詞時(shí)坟瓢,單詞之間建議使用半角的連詞線 ( - ) 分隔。
引入資源使用相對(duì)路徑犹撒,不要指定資源所帶的具體協(xié)議 ( http:,https: ) 折联,除非這兩者協(xié)議都不可用。

//不推薦:
<script src="http://cdn.com/foundation.min.js"></script>
// 推薦:
<script src="http://cdn.com/foundation.min.js"></script>
1.Js 文件命名規(guī)范
  • 字母全部小寫
  • 不要帶空格
  • 用破折號(hào)(-)連接單詞
  • 庫(kù)文件可用逗點(diǎn)(.)识颊,用于體現(xiàn)版本或從屬關(guān)系
    示例:
  • vue.min.js
  • vue-router.js
  • jquery.form.js
  • jquery-1.4.2.min.js
文件夾及文件命名
用簡(jiǎn)短有意義的英文或者拼音(不能出現(xiàn)中文命名)來命名诚镰。
①文件夾命名規(guī)則: 全部小寫。例如(emotions, download, mail)祥款。
②html,js,css文件命名規(guī)則: 第一個(gè)單詞首字母小寫,之后每個(gè)單詞首字母大寫,html文件后綴名統(tǒng)一為.htm清笨。例如(index.htm, customizeCity.htm, register.js, dateSelect.js, base.css, mapApply.css)。 
③圖片命名規(guī)則: 第一個(gè)單詞首字母小寫,之后每個(gè)單詞首字母大寫,或者全部小寫,單詞間用下劃線連接刃跛。例如(btn_sign.gif, bgTipBox.png)抠艾。
二、HTML命名規(guī)范及格式規(guī)范

HTML代碼所有的標(biāo)簽名和屬性應(yīng)該都為小寫桨昙,雖然HTML代碼是不區(qū)分大小寫的检号,但是W3C的規(guī)范建議小寫;屬性值應(yīng)該使用雙引號(hào)閉合蛙酪。

<!--不推薦示例:標(biāo)簽名稱大寫齐苛,或者大小寫混合;屬性值沒有用雙引號(hào)閉合-->
<IMG src=demo.jpg alt='test' />
推薦示例:
<!—推薦示例:標(biāo)簽名稱小寫桂塞;屬性值用雙引號(hào)閉合-->
<img src="demo.jpg" alt="test" />

給所有的關(guān)鍵元素定義元素的id和class凹蜂,便于和CSS、JavaScript交互阁危。因?yàn)閕d名稱和class名稱有可能作為檢索值用在JavaScript代碼中炊甲,所以命名一定要規(guī)范,這樣才能保證不會(huì)出現(xiàn)不必要的重復(fù)而導(dǎo)致Bug的產(chǎn)生欲芹。
推薦的做法是根據(jù)語義和DOM樹的層級(jí)關(guān)系來定義合適的名稱卿啡,名稱中全部使用小寫,id名稱中的關(guān)鍵詞用下劃線(_)連接菱父,class的關(guān)鍵詞用中劃線(–)連接颈娜,這樣可以最大限度地保證命名的不重復(fù)剑逃。

<!--不推薦示例:命名簡(jiǎn)單隨意,很難保證命名不重復(fù)-->
<div id="Reader">
   <div id="introduce" class="Introduce ">
      …
   </div>
</div>
<!--推薦示例:根據(jù)語義以及上下層級(jí)關(guān)系定義名稱-->
<div id="reader">
   <div id="reader_introduce" class="reader-introduce">
      …
   </div>
</div>

如果class名稱僅作為JavaScript調(diào)用的“鉤子”官辽,則可在名稱中添加“js”前綴蛹磺。
示例代碼:

<!--class名稱僅作為JavaScript調(diào)用的"鉤子",可在名稱中添加"js"前綴-->
<ul id="js_reader_menu">
   <li class="menu-toc js-active">Toc</li>
   <li class="menu-store js-active">Store</li>
   <li class="menu-library">Library</li>
   <li class="menu-news">News</li>
</ul>

HTML代碼的層級(jí)縮進(jìn)為4個(gè)空格同仆。如果元素包含子元素萤捆,則此元素對(duì)應(yīng)的起始標(biāo)簽和閉合標(biāo)簽分別單獨(dú)占用一行。

<!--不推薦示例:標(biāo)簽樹形層級(jí)之間沒有縮進(jìn)或者縮進(jìn)混亂-->
<ul>
<li>item1</li><li>item2</li>
<li>item3</li><li>item4</li></ul>
推薦示例:
<!--推薦示例:利用縮進(jìn)體現(xiàn)元素的層級(jí)關(guān)系-->
<ul>
   <li>item1</li>
   <li>item2</li>
   <li>item3</li>
   <li>item4</li>
</ul>

給HTML代碼添加必要的注釋俗批。頁(yè)面HTML代碼的注釋不宜過多俗或,添加的原則是在保證代碼維護(hù)性的基礎(chǔ)上盡量讓HTML代碼簡(jiǎn)潔∷晖基于這樣的原則辛慰,可以在頁(yè)面的公共部分(如頁(yè)面的頭部、尾部以及側(cè)邊欄等)干像、頁(yè)面經(jīng)常變化的部分(如廣告欄)以及需要后端代碼注入的部分添加注釋帅腌。注釋添加的位置在要注釋的代碼上部并單獨(dú)占用一行,不要在代碼行的后面直接添加麻汰。
示例代碼:

<body>
   <!--main header-->
   <div id="reader_header">
      ...
   </div>
    <!--main content-->
   <div id="reader_content">
     ...
      <!--動(dòng)態(tài)綁定列表: toc-->
     <ul id="reader_content_toc">
      </ul>
   </div>   
    <!--main footer-->
   <div id="reader_footer">
      ...
   </div>
</body>
三速客、CSS命名規(guī)范及格式規(guī)范

推薦的CSS類的命名規(guī)則和元素的id命名規(guī)則相似,只是組成類名稱的關(guān)鍵字的連接符為中劃線
示例代碼:

.reader-content-title {
   ...
}

為了避免class命名的重復(fù)五鲫,命名時(shí)取父元素的class名作為前綴溺职。

/* 父元素的樣式聲明 */
.reader-content {
   ...
}
/* 子元素的class名稱以父元素中的class名稱作為前綴 */
.reader-content-body {
   ...
}

在CSS樣式定義中,左大括號(hào)放置在選擇器的同一行臣镣,并和選擇器之間添加一個(gè)空格分隔辅愿,在保證可讀性的基礎(chǔ)上縮短代碼的行數(shù);在樣式聲明中忆某,屬性名稱和值之間用一個(gè)空格分隔点待,提高代碼可讀性。

/* 不推薦示例:CSS樣式定義中的左大括號(hào)單獨(dú)占一行弃舒;樣式聲明沒有縮進(jìn)或縮進(jìn)混亂癞埠;屬性名稱和值之間沒有用空格分隔*/
.reader-content-title 
{
background:#FFF;
   ...
}
/* 推薦示例:CSS樣式定義中的左大括號(hào)放置在選擇器的同一行;樣式聲明中屬性名稱和值之間用一個(gè)空格分隔*/
.reader-content-title {
   background: #FFF;
   ...
}

多個(gè)選擇器具有相同的樣式聲明時(shí)聋呢,每個(gè)選擇器應(yīng)該單獨(dú)占一行苗踪,便于閱讀和維護(hù)。
示例:

//不推薦示例:多個(gè)選擇器具有相同的樣式聲明時(shí)削锰,所有選擇器放置于同一行/
h1,h2,h3 {
font-weight: normal;
line-height: 1.2;
}
//推薦示例:多個(gè)選擇器具有相同的樣式聲明時(shí)通铲,每個(gè)選擇器應(yīng)該單獨(dú)占一行/
h1,
h2,
h3 {
font-weight: normal;
line-height: 1.2;
}

樣式聲明的順序按字母順序排列,不考慮瀏覽器前綴器贩。單純靠手寫代碼并保證樣式聲明按照一定的順序是不現(xiàn)實(shí)的颅夺。建議使用一些CSS美化工具做樣式聲明排序的工作朋截。
示例代碼:

/樣式聲明的順序以字母序排列/
.reader-content-title {
background: #FFF;
border: 1px solid;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
color: black;
text-align: center;
}

樣式定義按照模塊來分組,相同模塊的樣式定義放在一起吧黄,不同模塊的定義之間用一個(gè)空行分割部服。
示例代碼:

// reader header/
.reader-header-title {

...
}
.reader-header-introduce {
...
}

//reader footer/
.reader-footer-copyright{

...
}
.reader-footer-links {

...
}

CSS中的注釋非常重要,能對(duì)CSS樣式起到解釋和說明的作用拗慨,提高了CSS代碼的可讀性廓八。有些開發(fā)者可能擔(dān)心添加過多的注釋會(huì)讓CSS文件行數(shù)增多,其實(shí)不用擔(dān)心赵抢,可以在發(fā)布網(wǎng)站的時(shí)候?qū)SS文件進(jìn)行壓縮剧蹂,這個(gè)過程中會(huì)去掉所有的注釋。在CSS樣式文件中添加注釋主要有兩種類型:文件頭部的文件信息注釋和正文中的解釋說明性注釋昌讲。文件信息一般包括文件版本国夜、版權(quán)信息以及作者等减噪;解釋說明性的注釋有給模塊的注釋和單獨(dú)給選擇器的注釋短绸,模塊的注釋則需要添加注釋表明模塊樣式定義的開始和結(jié)束,CSS選擇器的注釋需要添加在選擇器的上一行筹裕,而不是和選擇器相同一行醋闭。
示例代碼:

/ 注釋規(guī)范說明:文件頭部的文件信息注釋 /
/*!

reader content v1.0
*
Copyright 2012
Dual licensed under the MIT or GPL Version 2 licenses.
*
Designed and built by dangjian
*/
/ 注釋規(guī)范說明:模塊樣式定義的開始和結(jié)束 /
/ Content containers start /
/ 注釋規(guī)范說明:注釋需要添加在選擇器的上一行,而不是和選擇器相同一行 /
/ content title /
.reader-content-title {
...
}
...
/ Content containers end /
四朝卒、JavaScript命名規(guī)范及格式規(guī)范

JavaScript局部變量命名采用首字母小寫证逻,其他單詞首字母大寫的方式。命名時(shí)建議采用有意義的單詞命名抗斤,不推薦使用標(biāo)識(shí)變量類型的前綴囚企,如int、str瑞眼、obj等龙宏。不推薦使用單詞縮寫命名,變量以縮寫命名則降低了其可讀性伤疙。如果認(rèn)為變量名太長(zhǎng)而使JavaScript腳本文件變大银酗,則可以在發(fā)布階段通過JavaScript腳本混淆壓縮等手段來縮小文件。
不推薦示例:

// 不推薦示例:變量命名首字母大寫
var ReaderBookmark = 'bookmark';
// 不推薦示例:變量命名意義不明確
var object = {};
// 不推薦示例:變量命名以類型作為前綴
var strName = 'Note';
// 不推薦示例:變量命名使用語義不明確的縮寫
var newNT = function(){

…
}

推薦示例:
// 推薦示例:變量命名語義明確
var bookmarkDefaultTitle = 'Untitled Bookmark';

現(xiàn)在流行JavaScript的面向?qū)ο缶幊掏较瘢敲淳蜁?huì)有公有或私有接口的概念黍特。原則上公有接口的命名為首字母大寫,私有接口的命名為首字母小寫锯蛀。
示例代碼:

Reader.Content = function(){
// 私有變量
var info, title;
// 私有方法
var getContent = function(){

  ...
};

return {

  // 公有方法
  SetTitle: function(contentTitle){
     title = contentTitle;
  },
  // 公有屬性
  ContentInfo: info
}
}();

jQuery框架在項(xiàng)目中使用廣泛灭衷,推薦給jQuery類型變量添加“$”作為前綴。
示例代碼:
var $tocTitle = $('.reader-toc-title');

左大括號(hào)應(yīng)該在行的結(jié)束位置旁涤,而不應(yīng)該單獨(dú)一行翔曲,因?yàn)檫@樣增加了不必要的行數(shù)经备。應(yīng)該一直使用大括號(hào)括起邏輯塊,即使邏輯只有一行部默,也應(yīng)該用大括號(hào)括起來侵蒙,以便提高代碼的可讀性和可維護(hù)性。
示例代碼:

//左大括號(hào)應(yīng)該在行的結(jié)束位置傅蹂,而不應(yīng)該單獨(dú)一行
for (var i=0; i<100; i++) {
doSomething(i); 
}

//應(yīng)該一直使用大括號(hào)括起邏輯塊纷闺,即使邏輯只有一行

var isFound = false;
if (statement) {
isFound = true;
}

JavaScript中可以用單引號(hào)或者雙引號(hào)定義字符串,但是因?yàn)榱?xí)慣于定義HTML的元素屬性值時(shí)使用雙引號(hào)份蝴,而JavaScript中又經(jīng)常包含HTML代碼犁功,所以字符串定義使用單引號(hào)也可方便于在字符串內(nèi)部包含含有雙引號(hào)的HTML代碼。
示例代碼:

var content = '…';

空格的作用是提高代碼的可讀性婚夫,在函數(shù)參數(shù)的逗號(hào)后面使用一個(gè)空格浸卦,在操作符前后各使用一個(gè)空格。另外案糙,使用一個(gè)空行來區(qū)分業(yè)務(wù)邏輯段限嫌。
示例代碼:

doSomething(myChar, 0, 1);

while (x === y){
...
}

JavaScript語句結(jié)束時(shí)應(yīng)該添加一個(gè)分號(hào)。語句結(jié)束是否添加分號(hào)這個(gè)話題曾經(jīng)引起很大的討論时捌,大名鼎鼎的Bootstrap框架中的JavaScript語句結(jié)束就沒有添加分號(hào)怒医。著名的框架都不在語句行尾添加分號(hào),這里有必要簡(jiǎn)單介紹一下在行尾推薦添加分號(hào)的理由奢讨。首先來看看JavaScript是如何看待分號(hào)的稚叹。JavaScript有自動(dòng)插入分號(hào)的算法,在沒有添加分號(hào)的JavaScript語句的結(jié)束處會(huì)自動(dòng)添加一個(gè)分號(hào)拿诸,但是如果語句的下一行以“[”扒袖、“(”、“+”亩码、“-”季率、“/”開頭則不會(huì)在此語句后面添加分號(hào)◇吧欤看似合理的設(shè)計(jì)蚀同,但其實(shí)如果應(yīng)用不慎就會(huì)導(dǎo)致一些莫名其妙的錯(cuò)誤,如下這個(gè)示例是由于自動(dòng)添加分號(hào)而導(dǎo)致的邏輯錯(cuò)誤啊掏。
錯(cuò)誤示例:

return
{
a + b
}

按照自動(dòng)添加分號(hào)的算法蠢络,會(huì)在return后面添加一個(gè)分號(hào),代碼等價(jià)于:

// return 后面會(huì)添加一個(gè)分號(hào)
return 迟蜜;
{
a + b
}

其結(jié)果自然會(huì)返回undefined刹孔,而不是期望的值。其實(shí)這個(gè)詭異的問題可以通過規(guī)定左大括號(hào)必須放置在前一個(gè)語句結(jié)尾處的方式來解決。
上面的例子是在不想添加分號(hào)的地方被自動(dòng)添加了分號(hào)髓霞,而下面的例子則是因?yàn)闆]有在該添加分號(hào)的地方添加分號(hào)而導(dǎo)致的邏輯錯(cuò)誤卦睹。
錯(cuò)誤示例:

var b = function(){
return function(){return 1}
}
var a = b
(function(){
...
})()

根據(jù)自動(dòng)添加分號(hào)的算法,“var a = b”這行語句的后一行代碼以左小括號(hào)開頭方库,不會(huì)為這行語句自動(dòng)添加分號(hào)结序,此行代碼等價(jià)于:

var b = function(){
return function(){return 1}
}
var a = b(function(){
...
})()

這完全背離了代碼表達(dá)的初衷。當(dāng)然纵潦,可以給以“[”徐鹤、“(”、“+”邀层、“-”返敬、“/”開頭的語句前添加一個(gè)分號(hào)來避免出現(xiàn)這樣的邏輯錯(cuò)誤,但是這也是一種“丑陋”的方案寥院。
JavaScript這種有缺陷的自動(dòng)添加分號(hào)的算法希望開發(fā)者格外小心劲赠。開發(fā)者明白這些缺陷則有助于在實(shí)際的開發(fā)過程中避免犯錯(cuò)誤。盡管在語句結(jié)尾添加分號(hào)和不添加分號(hào)都會(huì)有一些問題存在秸谢,但是考慮到大多數(shù)開發(fā)者已有的習(xí)慣凛澎,還是建議給語句的結(jié)尾添加分號(hào)。
因?yàn)镴avaScript代碼在前端中是邏輯性最強(qiáng)的钮追,所以需要添加足夠的注釋來保證代碼的可讀性预厌。在JavaScript代碼中阿迈,如果注釋未占有多行元媚,那么建議使用//,不推薦使用/**/苗沧。注釋應(yīng)該單獨(dú)占用一行刊棕,而不是寫在和代碼相同一行的右邊。和CSS代碼的注釋規(guī)范相似待逞,JavaScript代碼的注釋主要也是文件信息注釋和代碼邏輯注釋甥角。
示例代碼

/ 文件頭部的文件信息注釋 /
/*!

reader content v1.0
*
Copyright 2012
Dual licensed under the MIT or GPL Version 2 licenses.
*
Designed and built by dangjian
*/
Reader.Content = (function(){
return {

 // reader初始化
 Init: function(){
    ...
  };
};
})();
五、圖片命名

1识樱、 圖片的名稱分為頭尾兩部分嗤无,用下劃線隔開,頭部分表示此圖片的大類性質(zhì)怜庸,例如:廣告当犯、標(biāo)志、菜單割疾、按鈕等等

2 嚎卫、 常規(guī)命名

2.1 放置在頁(yè)面頂部的廣告、裝飾圖案等長(zhǎng)方形的圖片取名:banner

2.2 標(biāo)志性的圖片取名為:logo

2.3 在頁(yè)面位置不固定并且?guī)в墟溄拥男D片我們?nèi)∶篵utton

2.4 在頁(yè)面上某一個(gè)位置連續(xù)出現(xiàn)宏榕,性質(zhì)相同的鏈接欄目的圖片我們?nèi)∶簃enu

2.5 裝飾用的照片我們?nèi)∶簆ic

2.6 不帶鏈接表示標(biāo)題的圖片我們?nèi)∶簍itle

3 范例

banner_sohu.gif

banner_sina.gif

menu_aboutus.gif

menu_job.gif

title_news.gif

logo_police.gif

logo_national.gif

pic_people.jpg

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拓诸,一起剝皮案震驚了整個(gè)濱河市侵佃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奠支,老刑警劉巖馋辈,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異倍谜,居然都是意外死亡首有,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門枢劝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來井联,“玉大人,你說我怎么就攤上這事您旁±映#” “怎么了?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵鹤盒,是天一觀的道長(zhǎng)蚕脏。 經(jīng)常有香客問我,道長(zhǎng)侦锯,這世上最難降的妖魔是什么驼鞭? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮尺碰,結(jié)果婚禮上挣棕,老公的妹妹穿的比我還像新娘。我一直安慰自己亲桥,他們只是感情好洛心,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著题篷,像睡著了一般词身。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上番枚,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天法严,我揣著相機(jī)與錄音,去河邊找鬼葫笼。 笑死深啤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的渔欢。 我是一名探鬼主播墓塌,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了苫幢?” 一聲冷哼從身側(cè)響起访诱,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎韩肝,沒想到半個(gè)月后触菜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哀峻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年涡相,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剩蟀。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡催蝗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出育特,到底是詐尸還是另有隱情丙号,我是刑警寧澤,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布缰冤,位于F島的核電站犬缨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏棉浸。R本人自食惡果不足惜怀薛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迷郑。 院中可真熱鬧枝恋,春花似錦、人聲如沸三热。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)就漾。三九已至,卻和暖如春念搬,著一層夾襖步出監(jiān)牢的瞬間抑堡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工朗徊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留首妖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓爷恳,卻偏偏與公主長(zhǎng)得像有缆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.前言 如果說計(jì)算機(jī)科學(xué)只存在兩個(gè)難題:緩存失效和命名棚壁。那么我就覺得命名的難點(diǎn)只有兩個(gè):詞匯量和堅(jiān)持貫徹執(zhí)行制定...
    暮光之城_3ed1閱讀 1,706評(píng)論 0 1
  • 一個(gè)得到廣泛推崇的東西杯矩,必然有它的優(yōu)勢(shì)所在。web語義化: 1袖外、可以讓人一目了然這塊是什么鬼史隆,那塊是什么鬼,對(duì)于項(xiàng)...
    小涂異想世界閱讀 27,952評(píng)論 3 31
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,183評(píng)論 0 3
  • JavaScript編碼規(guī)范 1 前言 [2 代碼風(fēng)格] [2.1 文件] [2.2 結(jié)構(gòu)] [2.2.1 縮進(jìn)]...
    憶飛閱讀 1,157評(píng)論 1 2
  • 在007這么久曼验,終于體驗(yàn)了當(dāng)組長(zhǎng)是啥樣泌射。 我值班的這個(gè)月,一位戰(zhàn)友因感覺力不從心鬓照,沒有交作業(yè)熔酷,也沒有交罰款,退出了...
    HLw_704d閱讀 201評(píng)論 0 0