Web前端開(kāi)發(fā)規(guī)范文檔

基本準(zhǔn)則

  • 符合web標(biāo)準(zhǔn),html語(yǔ)義化冤竹;
  • html拂封,css,JavaScript分離鹦蠕;
  • 代碼簡(jiǎn)潔有序冒签,盡可能減少冗余代碼,降低服務(wù)器的負(fù)載钟病;
  • 解決pc端各瀏覽器的兼容性問(wèn)題萧恕,處理移動(dòng)端各設(shè)備適配問(wèn)題。

通用規(guī)范

  • 用四個(gè)空格代替TAB
因?yàn)樵诓煌到y(tǒng)的編輯工具對(duì)`tab`解析不一樣肠阱,`windows`下的`tab`鍵是占四個(gè)空格的位置票唆,而在`linux`下會(huì)變成占八個(gè)空格的位置(除非你自己設(shè)定了tab鍵所占的位置長(zhǎng)度)。
如sublime text辖所,可在這里對(duì)`tab`進(jìn)行設(shè)置
![alt text](http://imglf0.ph.126.net/E0E8CvNB_YvjIzS972wZ2w==/6608627832887488476.png?_=3831620 "sublime")
  • CSS樣式屬性或者JAVASCRIPT代碼后加“;”方便壓縮工具“斷句”惰说。
  • 文件內(nèi)容編碼統(tǒng)一為UTF-8

文件規(guī)范

  • 文件名統(tǒng)一使用小寫(xiě)英文單詞缘回,多個(gè)單詞用駝峰命名法吆视,如不使用駝峰命名法,建議使用"-"而不是"_"酥宴。
  • 一些瀏覽器會(huì)將還有這些詞的作為廣告攔截啦吧,文件命名、ID拙寡、CLASS等所有命名避免以下詞匯:
`ad`授滓、`ads`、`adv`、`banner`般堆、`sponsor`在孝、`gg`、`guangg`淮摔、`guanggao`等私沮。

HTML書(shū)寫(xiě)規(guī)范

  • 為每個(gè)HTML頁(yè)面的第一行添加標(biāo)準(zhǔn)模式(standard mode)的是聲明,確保在每個(gè)瀏覽器中擁有一致的展現(xiàn)和橙。
    <pre>
    <code><!DOCTYPE html></code>
    </pre>
    文檔類型聲明統(tǒng)一為HTML5聲明類型仔燕,編碼統(tǒng)一為UTF-8
    <pre>
    <code><meta charset="UTF-8"></code>
    </pre>
    <HEAD>中添加信息魔招。
    <pre>
    <code>
    <meta name="author" content="smile@kang.cool">//作者
    <meta name="description" content="hello">//網(wǎng)頁(yè)描述
    <meta name="keywords" content="a,b,c">//關(guān)鍵字,“晰搀,”分隔
    <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT">//設(shè)定網(wǎng)頁(yè)的到期時(shí)間。一旦網(wǎng)頁(yè)過(guò)期办斑,必須到服務(wù)器上重新調(diào)閱
    <meta http-equiv="Pragma" content="no-cache">//禁止瀏覽器從本地機(jī)的緩存中調(diào)閱頁(yè)面內(nèi)容
    <meta http-equiv="Window-target" content="_top">//用來(lái)防止別人在框架里調(diào)用你的頁(yè)面
    <meta http-equiv="Refresh" content="5;URL=http://kahn1990.com/">//跳轉(zhuǎn)頁(yè)面外恕,5指時(shí)間停留5秒 網(wǎng)頁(yè)搜索機(jī)器人向?qū)АS脕?lái)告訴搜索機(jī)器人哪些頁(yè)面需要索引俄周,哪些頁(yè)面不需要索引
    <meta name="robots" content="none">//content的參數(shù)有all,none,index,noindex,follow,nofollow吁讨,默認(rèn)是all
    <link rel="Shortcut Icon" href="favicon.ico">//收藏圖標(biāo)
    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">//網(wǎng)頁(yè)不會(huì)被緩存
    <meta name="viewport" content="width=device-width,initial-scale=1.0">//如果是移動(dòng)端項(xiàng)目,需加上峦朗。告訴瀏覽器識(shí)別設(shè)備窗口尺寸建丧,并禁止縮放。
    </code>
    </pre>
    IE支持通過(guò)特定的<meta>標(biāo)簽來(lái)確定繪制當(dāng)前頁(yè)面所采用的的IE版本波势。除非有強(qiáng)烈的特殊需求翎朱,否則最好是設(shè)置為edge mode,從而通知IE采用其所支持的最新的模式尺铣。
    <pre>
    <code><meta http-equiv="X-UA-Compatible" content="IE=Edge"></code>
    </pre>
  • 非特殊情況下CSS樣式文件外鏈至head內(nèi)拴曲,JavaScript文件外鏈至body底部。
    <pre>
<code><!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="css/main.css">
</head>
<body>
    <!-- 邏輯代碼 -->
    <!-- 邏輯代碼底部 -->
    <script src="lib/jquery/jquery-2.1.1.min.js"></script>
</body>
</html></code>
</pre>

引入JavaScript庫(kù)文件凛忿,文件名須包含庫(kù)名稱及版本號(hào)及是否為壓縮版澈灼。
<pre>
<code>jQuery-1.11.3.min.js</code>
</pre>
引入JavaScript插件,文件名格式為庫(kù)名稱+.+插件名稱店溢。
<pre>
<code>jQuery.cookie.js</code>
</pre>

  • HTML屬性應(yīng)當(dāng)按照以下給出的順序依次排列叁熔,來(lái)確保代碼的易讀性。
    <pre>
    <code>class
    id床牧、name
    data-*
    src荣回、for、type戈咳、href
    title心软、alt
    aria-*壕吹、role</code>
    </pre>
    編碼均遵循XHTML標(biāo)準(zhǔn);
    標(biāo)簽、屬性删铃、屬性命名由小寫(xiě)英文耳贬、數(shù)字和_組成,且所有標(biāo)簽必須閉合;
    屬性值必須用雙引號(hào)"";
    避免使用中文拼音泳姐,盡量簡(jiǎn)易并要求語(yǔ)義化效拭。
    <pre>
    <code>CLASS --> n-head-title --> CLASS遵循小駝峰命名法(little camel-case)
    ID --> nHeadTitle --> ID遵循名稱+"-"
    NAME --> nHeadTitle --> NAME屬性命名遵循小駝峰命名法(little camel-case)
    <div class="n-head-title" id="nHeadTitle" name="nHeadTitle"></div></code>
    </pre>
    當(dāng)JavaScript獲取單個(gè)元素時(shí)暂吉,通常使用document.getElementById來(lái)獲取dom元素胖秒,document.getElementById兼容所有瀏覽器,但I(xiàn)E瀏覽器會(huì)混淆元素的ID和NAME屬性慕的,所以要區(qū)分ID和NAME的命名阎肝。
    <pre>
    <code><input type="text" name="text">
    <div id="test"></div>
    <button onclick="alert(document.getElementById('test').tagName)"></button>
<!-- ie6下為INPUT --></code>
</pre>
  • 特殊符號(hào)應(yīng)使用轉(zhuǎn)義符。
    <pre>
    <code>< --> <
    --> >
    空格 --> </code>
    </pre>
  • 含有描述性表單元素(input,textarea)添加label肮街。
    <pre>
    <code><p>
    <label for="test">測(cè)試</label>
    <input type="text" id="test"/>
    </p></code>
    </pre>
  • 多用無(wú)兼容性問(wèn)題的HTML內(nèi)置標(biāo)簽风题。
比如`span`、`em`嫉父、`strong`沛硅、`optgroup`、`label`等绕辖,需要自定義`HTML`標(biāo)簽屬性時(shí)摇肌,首先考慮是否存在已有的合適標(biāo)簽可替換,如果沒(méi)有仪际,可使用`data-`為前綴來(lái)添加自定義屬性围小,避免使用其他命名方式霉颠。
  • 語(yǔ)義化HTML悍抑。
  • 盡可能減少<div>嵌套。
  • 書(shū)寫(xiě)鏈接地址時(shí)避免重定向穿仪。
    <pre>
    <code>href="http://www.kahn1990.com/" //即在URL地址后面加"/"</code>
    </pre>
  • HTML中對(duì)于屬性的定義成榜,確保全部使用雙引號(hào)框舔,絕對(duì)不要使用單引號(hào)。

CSS書(shū)寫(xiě)規(guī)范

  • CSS樣式新建或修改盡量遵循以下原則:
1. 根據(jù)新建樣式的適用范圍分為三級(jí):全站級(jí)赎婚、產(chǎn)品級(jí)刘绣、頁(yè)面級(jí)
2. 盡量通過(guò)繼承和層疊重用已有的樣式。
3. 不要輕易改動(dòng)全站級(jí)CSS惑淳。改動(dòng)后额港,要經(jīng)過(guò)全面測(cè)試。
  • CSS屬性顯示順序:
1. 顯示屬性
2. 元素位置
3. 元素屬性
4. 元素內(nèi)容屬性
`CSS`書(shū)寫(xiě)順序
<pre>
<code>.header{
    /*顯示屬性*/
        display || visibility
        list-style
        position top || right || bottom || left
        z-index
        clear
        float
    /*自身屬性*/
        width max-width || min-width
        height max-height || min-height
        overflow || clip
        margin
        padding
        outline
        border
        background
    /*文本屬性*/
        color
        font
        text-overflow
        text-align
        text-indent
        line-height
        white-space
        vertical-align
        cursor
        content
        };
</code>
</pre>
兼容多個(gè)瀏覽器時(shí)歧焦,將標(biāo)準(zhǔn)屬性寫(xiě)在底部移斩。
<pre>
<code>-moz-border-radius:15px;/*Firefox*/
-webkit-border-radius:15px;/*Safari和Chrome*/
border-radius:15px;/*Opera 10.5+肚医,以及使用了IE-CSS3的IE瀏覽器*//標(biāo)準(zhǔn)屬性</code>
</pre>
  • 使用選擇器時(shí),命名比較短的詞匯或者縮寫(xiě)的不允許直接定義樣式向瓷。
    <pre>
    <code>.hd,.bd,.td{};//如這些命名</code>
    </pre>
可用上級(jí)節(jié)點(diǎn)進(jìn)行限定肠套。
<pre>
<code>.recommend-mod .hd</code>
</pre>
多選擇器規(guī)則之間換行,即當(dāng)樣式針對(duì)多個(gè)選擇器時(shí)每個(gè)選擇器占一行猖任。
<pre>
<code>button.btn,
input.btn,
input[type="button"]{...};</code>
</pre>
優(yōu)化`CSS`選擇器你稚。
<pre>
<code>#header a { color:#fff; };/*CSS選擇器是從右邊到左邊進(jìn)行匹配*/</code>
</pre>
瀏覽器將檢查整個(gè)文檔中的所有鏈接和每個(gè)鏈接的父元素,并遍歷文檔樹(shù)去查找ID為header的祖先元素朱躺,如果找不到header將追溯的文檔的根節(jié)點(diǎn)刁赖,解決方法如下:
<pre>
<code>避免使用通配符和相鄰兄弟選擇符、子選擇符长搀、后代選擇符宇弛、屬性選擇符等選擇器
不要限定ID選擇符,如div#header(提高權(quán)重除外)
不要限定類選擇器源请,如ul.recommend(提高權(quán)重除外)
不要使用 ul li a 這樣長(zhǎng)的選擇符
避免使用標(biāo)簽子選擇符枪芒,如#header > li > a </code>
</pre>
  • 使用z-index屬性盡量讓z-index的值不要超過(guò)150(全站級(jí)的除外),頁(yè)面中的元素內(nèi)容的z-index不能超過(guò)10(模態(tài)框等模塊除外谁尸,但不能超過(guò)150)舅踪,不允許直接使用(999~9999)之間的值。
  • 盡量避免使用CSS Hack良蛮。
<pre>
<code>property:value;/*所有瀏覽器*/
+property:value;/*IE7*/
_property:value;/*IE6*/
*property:value;/*IE6/7*/
property:value;/*IE6/7/8/9,即所有IE瀏覽器*/</code>
</pre>
<pre>
<code>* html selector {...};/*IE6*/
*:first-child+html selector {...};/*IE7*/
html>body selector {...};/*非IE6*/
@-moz-document url-prefix() {...};/*firefox*/
@media all and (-webkit-min-device-pixel-ratio:0) {...};/*saf3+/chrome1+*/
@media all and (-webkit-min-device-pixel-ratio:10000),not all and (-webkit-min-device-pixel-ratio:0) {...};/*opera*/
@media screen and (max-device-width:480px) {...};/*iphone/mobile webkit*/</code>
</pre>
避免使用低效的選擇器抽碌。
<pre>
<code>body > * {...};
ul > li > a {...};
#footer > h3 {...};
ul#top_blue_nav {...};
#searbar span.submit a {...};/*反面示例*/</code>
</pre>
  • 六個(gè)不要三個(gè)避免一個(gè)使用。
    <pre>
    <code>不要在標(biāo)簽上直接寫(xiě)樣式
不要在CSS中使用expression
不要在CSS中使用@import
不要在CSS中使用“*”選擇符
不要在CSS中使用背镇!important
不要將CSS樣式單行書(shū)寫(xiě)
避免使用filter
避免使用行內(nèi)(inline)樣式
避免使用“*”設(shè)置{margin:0咬展;padding:0;}
使用偽類清除浮動(dòng)</code>
</pre>
  • 減少使用影響性能的屬性瞒斩。
    <pre>
    <code>position:absolute;
    float:left;//如這些定位或浮動(dòng)屬性破婆,如需使用,優(yōu)先使用定位胸囱。</code>
    </pre>
減少在`CSS`中使用濾鏡表達(dá)式和圖片repeat祷舀,尤其在body當(dāng)中,渲染性能極差烹笔,如果需要用repeat的話裳扯,圖片的寬或高不能少于8px。

JavaScript書(shū)寫(xiě)規(guī)范

  • 命名規(guī)范
    <pre>
    <code>常量名
    全部大寫(xiě)并且單詞間用下劃線分隔
    如:CSS_BTN_CLOSE谤职、TXT_LOADING

    對(duì)象的屬性或方法名
    小駝峰式(little camel-case)
    如:init饰豺、bindEvent、updatePosition
    示例:Dialog.prototype = {
    init: function(){},
    bindEvnet:function(){},
    updatePosition:function(){},
    ...
    };
    類名(構(gòu)造器)
    -->小駝峰式但首字母大寫(xiě)
    -->如:Current允蜈、DefaultConfig
    函數(shù)名
    -->小駝峰式
    -->如:current()冤吨、defaultConfig()
    變量名
    -->小駝峰式
    -->如:current蒿柳、defaultConfig
私有變量名
    -->小駝峰式但需要用_開(kāi)頭
    -->如:_current、_defaultConfig</code>
</pre>
  • 代碼格式漩蟆。
    <pre>
    <code>"()"前后需要跟空格
    "="前后需要跟空格
    ","后面需要跟空格
    JSON對(duì)象需格式化對(duì)象參數(shù)
if垒探、while、for怠李、do語(yǔ)句的執(zhí)行體用"{}"包起來(lái)</code>
</pre>
"{}"格式如下:
<pre>
<code>if (a==1) {
    //代碼
};</code>
</pre>
避免額外的逗號(hào)圾叼。
<pre>
<code>var arr = [1,2,3,];//最后的逗號(hào)不要有</code>
</pre>
`for-in`循環(huán)中須用hasOwnProperty方法檢查成員是否為自身成員,避免來(lái)自原型鏈上的污染捺癞。
  • 長(zhǎng)語(yǔ)句可考慮斷行夷蚊。
    <pre>
    <code>TEMPL_SONGLIST.replace('{TABLE}', da['results'])
    .replace('{PREV_NUM}', prev)
    .replace('{NEXT_NUM}', next)
    .replace('{CURRENT_NUM}', current)
    .replace('{TOTAL_NUM}', da.page_total);</code>
    </pre>
為了避免和`JSLint`的檢驗(yàn)機(jī)制沖突,“.”或“+”這類操作符放在行尾翘簇。
<pre>
<code>TEMPL_SONGLIST.replace('{TABLE}', da['results']).
    replace('{PREV_NUM}', prev).
    replace('{NEXT_NUM}', next).
    replace('{CURRENT_NUM}', current).
    replace('{TOTAL_NUM}', da.page_total);</code>
</pre>
如果模塊代碼中撬码,使用其他全局變量想跳過(guò)JSLint的檢查,可在該文件中添加/*global*/聲明版保。
<pre>
<code>/*global alert: true, console:true, top:true, setTimeout:true*/</code>
</pre>
  • 使用嚴(yán)格的條件判斷符。用===代替==夫否,用!==代替!=彻犁,避免==產(chǎn)生的陷阱。
*  在條件判斷時(shí)凰慈,這樣的一些值表示false汞幢。
<pre>
<code>null
undefined與null相等
字符串''
數(shù)字0
NaN</code>
</pre>
* 在==時(shí),則會(huì)有一些讓人難以理解的陷阱微谓。
<pre>
<code>(function(){
    var undefined;
    undefined == null;//true
    1 == true;//true
    2 == true;//false
    0 == false;//true
    0 == '';//true
    NaN == NaN;//false
    [] == false;//true
    [] == ![];//true
})();</code>
</pre>
* 對(duì)于不同類型的`==`判斷森篷,有這樣一些規(guī)則,順序自上而下:
<pre>
<code>undefined與null相等
一個(gè)是number一個(gè)是string時(shí)豺型,會(huì)嘗試將string轉(zhuǎn)換為number
嘗試將boolean轉(zhuǎn)換為number的0或1
嘗試將Object轉(zhuǎn)換成number或string</code>
</pre>
而這些取決于另外一個(gè)對(duì)比量仲智,即值的類型,所以對(duì)于0姻氨、空字符串的判斷钓辆,建議使用`===`。<br/>`===`會(huì)先判斷兩邊的值類型肴焊,類型不匹配時(shí)為`false`前联。
  • 下面類型的對(duì)象不建議用new構(gòu)造:
    <pre>
    <code>new Number
    new String
    new Boolean
    new Object //用{}代替
    new Array //用[]代替</code>
    </pre>
引用對(duì)象成員用`obj.prop`代替obj["prop"] ,除非屬性名是變量娶眷。
  • 從number到string的轉(zhuǎn)換似嗤。
    <pre>
    <code>/推薦寫(xiě)法/
    var a = 1;
    typeof(a); //"number"
    console.log(a); //1
    var aa = a + '';
    typeof(aa); //"string"
    console.log(aa); //'1'
    /
    不推薦寫(xiě)法/
    new String(a)或a.toString()</code>
    </pre>
從string到number的轉(zhuǎn)換,使用parseInt届宠,必須指定第二個(gè)參數(shù)的進(jìn)制烁落。
<pre>
<code>/**推薦寫(xiě)法*/
var a = "1";
var aa = parseInt(a,10);
typeof(a); //"string"
console.log(a); //"1"
typeof(aa); //"number"
console.log(aa); //1</code>
</pre>
從float到integer的轉(zhuǎn)換壳咕。
<pre>
<code>/**推薦寫(xiě)法*/
Math.floor/Math.round/Math.ceil
/**不推薦寫(xiě)法*/
parseInt</code>
</pre>
字符串拼接應(yīng)使用數(shù)組保存字符串片段,使用時(shí)調(diào)用join方法顽馋。避免使用+或+=的方式拼接較長(zhǎng)的字符串谓厘,每個(gè)字符串都會(huì)使用一個(gè)小的內(nèi)存片段,過(guò)多的內(nèi)存片段會(huì)影響性能寸谜。
<pre>
<code>/**推薦的拼接方式array的push竟稳、join*/
var str=[],
    list=['測(cè)試A','測(cè)試B'];
for (var i=0 , len=list.length; i < len; i++) {
    str.push( '<div>'+ list[i] + '</div>');
};
console.log(str.join('')); //<div>測(cè)試A</div><div>測(cè)試B</div>
/** 不推薦的拼接方式+=*/
var str = '',
    list=['測(cè)試A','測(cè)試B'];
for (var i = 0, len = list.length; i< len; i++) {
    str+='<div>' + list[i] + '</div>';
};
console.log(str); //<div>測(cè)試A</div><div>測(cè)試B</div></code>
</pre>
  • 盡量避免使用存在兼容性及消耗資源的方法或?qū)傩浴?br> <pre>
    <code>不要使用with,void熊痴,evil他爸,eval_r,innerText</code>
    </pre>
  • 注意HTML分離果善,減小reflow诊笤,注意性能。優(yōu)化reflow的方法如下:
1. 不要一條一條地修改 DOM 的樣式巾陕。與其這樣讨跟,還不如預(yù)先定義好 css 的 class,然后修改 DOM 的 className:
    <pre>
    <code>// 不好的寫(xiě)法
    var left = 10,
    top = 10;
    el.style.left = left + "px";
    el.style.top  = top  + "px";
    // 推薦寫(xiě)法
    el.className += " theclassname";</code>
    </pre>
2. 把 DOM 離線后修改鄙煤。如:
    + 使用 documentFragment 對(duì)象在內(nèi)存里操作 DOM晾匠。
    + 先把 DOM 給 display:none (有一次 repaint),然后你想怎么改就怎么改梯刚。比如修改 100 次凉馆,然后再把他顯示出來(lái)。
    + clone 一個(gè) DOM 節(jié)點(diǎn)到內(nèi)存里亡资,然后想怎么改就怎么改澜共,改完后,和在線的那個(gè)的交換一下锥腻。
3. 不要把 DOM 節(jié)點(diǎn)的屬性值放在一個(gè)循環(huán)里當(dāng)成循環(huán)里的變量嗦董。不然這會(huì)導(dǎo)致大量地讀寫(xiě)這個(gè)結(jié)點(diǎn)的屬性。
4. 盡可能的修改層級(jí)比較低的 DOM節(jié)點(diǎn)旷太。當(dāng)然展懈,改變層級(jí)比較底的 DOM節(jié)點(diǎn)有可能會(huì)造成大面積的 reflow,但是也可能影響范圍很小供璧。
5. 為動(dòng)畫(huà)的 HTML 元件使用 fixed 或 absoult 的 position存崖,那么修改他們的 CSS 是會(huì)大大減小 reflow 。
6. 千萬(wàn)不要使用 table 布局睡毒。因?yàn)榭赡芎苄〉囊粋€(gè)小改動(dòng)會(huì)造成整個(gè) table 的重新布局来惧。

圖片規(guī)范

  • 命名應(yīng)用小寫(xiě)英文數(shù)字演顾、_組合供搀,便于團(tuán)隊(duì)其他成員理解隅居。
    <pre>
    <code>header_btn.gif
    header_btn2.gif</code>
    </pre>
  • 頁(yè)面元素類圖片均放入img文件夾,測(cè)試用圖片放入img/testing文件夾葛虐,psd源圖放入img/psdimg文件夾胎源。
  • 圖片格式僅限于gifpng屿脐、jpg等涕蚤。
  • 背景圖片盡可能用sprite圖,減小http請(qǐng)求的诵。

注釋規(guī)范:

  • JavaScript万栅、CSS文件注釋需要標(biāo)明作者、文件版本西疤、創(chuàng)建/修改時(shí)間烦粒、函數(shù)描述等信息。
    <pre>
    <code>/*注釋區(qū)域/</code>
    </pre>
    中間可添加如下信息:
    <pre>
<code>@file 文件名
@addon 把一個(gè)函數(shù)標(biāo)記為另一個(gè)函數(shù)的擴(kuò)張代赁,另一個(gè)函數(shù)的定義不在源文件中
@argument 用大括號(hào)中的自變量類型描述一個(gè)自變量
@author 函數(shù)/類作者的姓名
@base 如果類是繼承得來(lái)扰她,定義提供的類名稱
@class 用來(lái)給一個(gè)類提供描述,不能用于構(gòu)造器的文檔中
@constructor 描述一個(gè)類的構(gòu)造器
@deprecated 表示函數(shù)/類已被忽略
@exception 描述函數(shù)/類產(chǎn)生的一個(gè)錯(cuò)誤
@exec @extends 表示派生出當(dāng)前類的另一個(gè)類
@fileoverview 表示文檔塊將用于描述當(dāng)前文件管跺,這個(gè)標(biāo)簽應(yīng)該放在其它任何標(biāo)簽之前
@final 指出函數(shù)/類
@ignore 讓jsdoc忽視隨后的代碼
@link 類似于@link標(biāo)簽义黎,用于連接許多其它頁(yè)面
@member 定義隨后的函數(shù)為提供的類名稱的一個(gè)成員
@param 用大括號(hào)中的參數(shù)類型描述一個(gè)參數(shù)
@private 表示函數(shù)/類為私有,不應(yīng)包含在生成的文檔中
@requires 表示需要另一個(gè)函數(shù)/類
@return 描述一個(gè)函數(shù)的返回值
@see 連接到另一個(gè)函數(shù)/類
@throws 描述函數(shù)/類可能產(chǎn)生的錯(cuò)誤
@type 指定函數(shù)/成員的返回類型
@version 函數(shù)/類的版本號(hào)</code>
</pre>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末豁跑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子泻云,更是在濱河造成了極大的恐慌艇拍,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宠纯,死亡現(xiàn)場(chǎng)離奇詭異卸夕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)婆瓜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)快集,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人廉白,你說(shuō)我怎么就攤上這事个初。” “怎么了猴蹂?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵院溺,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我磅轻,道長(zhǎng)珍逸,這世上最難降的妖魔是什么逐虚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮谆膳,結(jié)果婚禮上叭爱,老公的妹妹穿的比我還像新娘。我一直安慰自己漱病,他們只是感情好买雾,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著缨称,像睡著了一般凝果。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上睦尽,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天器净,我揣著相機(jī)與錄音,去河邊找鬼当凡。 笑死山害,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沿量。 我是一名探鬼主播浪慌,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼朴则!你這毒婦竟也來(lái)了权纤?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤乌妒,失蹤者是張志新(化名)和其女友劉穎汹想,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體撤蚊,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡古掏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侦啸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片槽唾。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖光涂,靈堂內(nèi)的尸體忽然破棺而出庞萍,到底是詐尸還是另有隱情,我是刑警寧澤顶捷,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布挂绰,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏葵蒂。R本人自食惡果不足惜交播,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望践付。 院中可真熱鬧秦士,春花似錦、人聲如沸永高。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)命爬。三九已至曹傀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饲宛,已是汗流浹背皆愉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艇抠,地道東北人幕庐。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像家淤,于是被迫代替她去往敵國(guó)和親异剥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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

  • Web前端開(kāi)發(fā)規(guī)范文檔 規(guī)范目的: 使開(kāi)發(fā)流程更加規(guī)范化絮重。 通用規(guī)范: TAB鍵用兩個(gè)空格代替(WINDOWS下T...
    蕎葉閱讀 544評(píng)論 0 1
  • 一.規(guī)范目的 使開(kāi)發(fā)流程更加規(guī)范化冤寿。 二.通用規(guī)范 TAB鍵用兩個(gè)空格代替(WINDOWS下TAB鍵占四個(gè)空格,L...
    overflow_hidden閱讀 2,419評(píng)論 0 0
  • 每到臨近春節(jié)的日子,聽(tīng)到最多的話便是“哪天回家過(guò)年”潮模,每年一次的家人團(tuán)聚成為一年到頭最大的期盼,家人歡聚的一刻見(jiàn)到...
    記錄成長(zhǎng)點(diǎn)滴閱讀 431評(píng)論 0 0
  • 上周末抽空去看了《港囧》,主要是沖著徐崢去的辣吃《猓《泰囧》已經(jīng)過(guò)去三年,國(guó)內(nèi)票房神話被一次次改寫(xiě)神得,前段時(shí)間上映的...
    左以是個(gè)左以閱讀 2,688評(píng)論 10 27
  • 我不懂花厘惦,更不用說(shuō)花語(yǔ)了 可我卻你在離別之時(shí),懂得了那朵花的花語(yǔ) 你可看見(jiàn)那花在我眼中打轉(zhuǎn) 你的心是否和我一樣懂得...
    不懂wz閱讀 215評(píng)論 4 1