成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

隨便說說規(guī)范

XboxYan / 1476人閱讀

摘要:前端的進(jìn)階其實(shí)和如何使用規(guī)范是完全相關(guān)的??偨Y(jié)起來整個(gè)流程就是無規(guī)范有規(guī)范無規(guī)范。另外,還有一個(gè)名叫的命令規(guī)范,不過他主要正對于的命名。我們來說說那些地方需要使用注釋。另外,規(guī)范當(dāng)然還有很多,比如縮進(jìn),空格,逗號等。

前端的進(jìn)階其實(shí)和如何使用規(guī)范是完全相關(guān)的。

新手: 啊,什么,這有規(guī)范嗎? 我不會(huì)誒
進(jìn)階: 恩,每次,這里需要加分號。 這個(gè)逗號應(yīng)該放這里...
大神: 啊,前端有規(guī)范嗎? 這里需要放分號,那里不需要放分號。 這里可以不大寫,我偏大寫。

總結(jié)起來整個(gè)流程就是:無規(guī)范 -> 有規(guī)范 -> 無規(guī)范。

所以,這里我們來談一談規(guī)范在前端的意義吧。由于,本人純屬小白,所以,咱不裝逼,我們談?wù)動(dòng)幸?guī)范的那一塊。%>_<%

其實(shí)前端規(guī)范,就這幾個(gè),命名,分隔符,縮進(jìn)等。

分號

這個(gè)應(yīng)該算是我們最常見的,但是也是坑最多的一個(gè)。即,每條語句結(jié)尾都需要加分號.

我們來看個(gè)例子:

var a = 2
2
console.log(a);  //2

本來我們想要的結(jié)果應(yīng)該是a=22,但是現(xiàn)實(shí)往往是不要臉的。他的結(jié)果是2。

為什么呢? 為什么呢? 為什么呢?

我們來看一下ECMA的對此的解釋。

我們只在看起來像是一條語句的后面加上分號表示一句

實(shí)際上其實(shí)是這樣的:

var a = 2;
2;

所以,一條語句寫完之后別手賤 換行,因?yàn)槟悴恢滥阏谧鲆患?keai的事,而且每條語句最好都加上分號,至少不會(huì)出錯(cuò)。

好吧,還說服不了你的話。我們來看一個(gè)經(jīng)典的問題

;(function(){
    // ...
})();

如果 你看過一些插件的話,應(yīng)該會(huì)發(fā)現(xiàn)這個(gè)普遍的現(xiàn)象。

為什么呢? 為什么呢? 為什么呢?

為了防止出Bug呀。。。 艸
咳咳~ 開玩笑,

舉個(gè)實(shí)例吧。

var speak = function(para){console.log(para); return "speak is "+para;}
("I want to Speak").toString();
console.log(speak);

如果看代碼的話,應(yīng)該能讀懂我的意圖吧? 但是,js解釋器,從不給你解釋的機(jī)會(huì)。

上面代碼的結(jié)果是:

I want to Speak
speak is I want to Speak

我真*了狗。第一個(gè)I want to Speak 是函數(shù)表達(dá)式里面的console.log(para)里面的。第二個(gè) "speak is I want to Speak" 就是console.log(speak)里面的內(nèi)容了。

總結(jié)一下,原因,我們最怕遇見這種情況,在函數(shù)后面使用"()"就相當(dāng)于調(diào)用該函數(shù)并且傳入?yún)?shù),所以上面執(zhí)行情況是。

var speak = function(para){console.log(para); return "speak is "+para}("I want to Seapk").toString();
//首先獲得函數(shù)表達(dá)式的執(zhí)行結(jié)果.
function(para){console.log(para); return "speak is "+para}("I want to Seapk")
//然后將結(jié)果內(nèi)容toString,返回給speak
speak = xxx.toString();  //返回的結(jié)果

所以,懂了吧, 一些插件之所以要在IIFE前面加上";"就是這個(gè)道理。 加分號的時(shí)候,我們一定要不怕苦,不怕累,就怕出bug。

命名

普遍而言,我們最常使用的就是兩種方法。

給類命名(原諒我說類)--使用首字母大寫的camel式

var person = new People();  //People就是使用首字母大寫的camel式

給變量命名--使用首字母小寫的camel式

var myBook = new Books();  //myBook就是采用變量名的命名

當(dāng)然,這個(gè)只是命名的簡單兩種方法,也是廣為接受的。另外,還有一個(gè)名叫"BEM"的命令規(guī)范,不過他主要正對于css的命名。如果感興趣的同學(xué)可以了解一下: 傳送門。

注釋

感覺在js里面真的是弱化了注釋的效果, 從以前幾十行代碼就可以寫完的一個(gè)js,到現(xiàn)在的大型webApp,單頁應(yīng)用,你再寫30+的js試一試。 所以,可能是被遺傳了吧,我大部分的朋友都不喜歡寫注釋,但這里真的希望大家在寫代碼的時(shí)候一定要多寫注釋。 坊間有個(gè)不成文的規(guī)定,如果你的注釋不占你程序的2/3的話,你這個(gè)程序won"t pass. 同時(shí),寫注釋也是給你的接手人,一個(gè)很好的指導(dǎo)意義。

通常我們寫注釋可以直接使用快捷鍵:

//windows
ctrl+/
//MAC
command+/

這樣方便,易記。

我們來說說那些地方需要使用注釋。

文件開頭:一個(gè)main.js的開頭需要使用注釋,來說明你js文件的相關(guān)信息,以及功能描述。通常是:

 /**
 * @author jimmy
 * @file Image.js
 * @description 功能詳細(xì)描述
 */

重要函數(shù):給你的函數(shù)加上一些基本描述是很有必要的。通常有功能,參數(shù)效果,是否有返回值。

/**
 * 簡述
 *
 * 功能詳細(xì)描述
 *
 * @param  arg1 參數(shù)1
 * @param  arg2 參數(shù)2,默認(rèn)為0
 * @return  看xxx是否成功
 */
 
 function doSth (arg1, arg2) {
 }

重要語句:其實(shí)js程序里面,要么不是函數(shù),要么就是單語句。關(guān)于語句的注釋應(yīng)該沒什么說的。 就是在每行語句上,加上一條注釋,可以不用上面這么復(fù)雜的,直接使用command + /即可。

//是否登錄
var isOk = isLogin?true:false;

OK,注釋差不多就是這幾個(gè)部分。

另外,js規(guī)范當(dāng)然還有很多,比如縮進(jìn),空格,逗號等。,(艸)

寶寶不想說啦。 其實(shí)這些規(guī)范你使用code pretty一下就好看了。如果你使用sublime 你可以下一個(gè)package HTML pretty 等相關(guān)的代碼美化插件。都是可以的。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/78635.html

相關(guān)文章

  • 一篇文章帶你嘗試拿下js異步

    摘要:單線程就意味著,所有任務(wù)需要排隊(duì),前一個(gè)任務(wù)結(jié)束,才會(huì)執(zhí)行后一個(gè)任務(wù)。這決定了它只能是單線程,否則會(huì)帶來很復(fù)雜的同步問題。小結(jié)本身是單線程的,并沒有異步的特性。當(dāng)異步函數(shù)執(zhí)行時(shí),回調(diào)函數(shù)會(huì)被壓入這個(gè)隊(duì)列。 走在前端的大道上 本篇將自己讀過的相關(guān) js異步 的文章中,對自己有啟發(fā)的章節(jié)片段總結(jié)在這(會(huì)對原文進(jìn)行刪改),會(huì)不斷豐富提煉總結(jié)更新。 概念 JS 是單線程的語言。 單線程就意味著...

    MartinDai 評論0 收藏0
  • 探討一下Vue和以前的jquery開發(fā)的區(qū)別

    摘要:我是一名光榮的前端工程師,一直從事前端的開發(fā)工作。但是開發(fā)是前后端分離開發(fā),通過進(jìn)行交互,客戶端請求服務(wù)器返回?cái)?shù)據(jù),由客戶端進(jìn)行渲染。因?yàn)榍岸舜a和后臺代碼都是分開的,所以項(xiàng)目更容易維護(hù),開發(fā)效率更高。 我是一名光榮的前端工程師,一直從事web前端的開發(fā)工作。當(dāng)時(shí)可以說是零基礎(chǔ)入門,之前因?yàn)榍岸说膆tml、css、js比較好學(xué),所以也愚蠢的認(rèn)為web前端很簡單,很沒有技術(shù)含量。當(dāng)然不僅...

    galois 評論0 收藏0
  • 探討一下Vue和以前的jquery開發(fā)的區(qū)別

    摘要:我是一名光榮的前端工程師,一直從事前端的開發(fā)工作。但是開發(fā)是前后端分離開發(fā),通過進(jìn)行交互,客戶端請求服務(wù)器返回?cái)?shù)據(jù),由客戶端進(jìn)行渲染。因?yàn)榍岸舜a和后臺代碼都是分開的,所以項(xiàng)目更容易維護(hù),開發(fā)效率更高。 我是一名光榮的前端工程師,一直從事web前端的開發(fā)工作。當(dāng)時(shí)可以說是零基礎(chǔ)入門,之前因?yàn)榍岸说膆tml、css、js比較好學(xué),所以也愚蠢的認(rèn)為web前端很簡單,很沒有技術(shù)含量。當(dāng)然不僅...

    wean 評論0 收藏0
  • 開工大吉!簡單的說說公司的開發(fā)規(guī)范!

    摘要:大家好,好久沒有寫公眾號了,最近有朋友參加面試被問到開發(fā)規(guī)范的問題,突然發(fā)現(xiàn)每天干著工作,卻沒有關(guān)注這個(gè)問題,就想著寫篇文章,簡單的說下自己公司的開發(fā)規(guī)范。 大家好,好久沒有寫公眾號了,最近有朋友參加面試被問到開發(fā)規(guī)范的問題,突然發(fā)現(xiàn)每天干著工作,卻沒有關(guān)注這個(gè)問題,就想著寫篇文章,簡單的說下自己公司的開發(fā)規(guī)范。 showImg(https://segmentfault.com/img...

    edagarli 評論0 收藏0

發(fā)表評論

0條評論

XboxYan

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<