最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JavaScript中的變量命名規(guī)范

 更新時間:2022年12月12日 15:51:46   作者:一丁目  
程序員三大難題:變量命名、緩存失效、循環(huán)邊界。這篇文章主要為大家介紹了JavaScript中的變量命名規(guī)范,感興趣的小伙伴可以跟隨小編一起學習一下

駝峰命名

首先,和其他語言一樣,大部分變量建議采用駝峰命名法。

var articleTitle = 'javascript變量命名規(guī)范'

而對于常量,使用大寫字母和下劃線來組合命名。

const COUNTRY_NAME = 'China'

根據(jù)變量類型來命名

普通變量/屬性

盡量用簡單易懂的 名詞 結(jié)尾,前面可以加 形容詞/名詞 來修飾。

var person = {
    name: 'Frank'
}
var student = {
    grade: 3,
    class: 2
}
var juniorSchoolStudent = {}

布爾變量/屬性

一般用 形容詞、be動詞 、情態(tài)動詞、has 開頭

var person = {
    alive: false, // 如果是形容詞,前面就沒必要加is,比如isAlive就顯得冗余
    canSpeak: true, //情態(tài)動詞有can、should、will、need等,情態(tài)動詞后面接動詞
    isVip: true, // be動詞有is、was等,后面一般接名詞
    hasChildren: true, // has加名詞
}

控制元素的顯示隱藏、是否加載的時候,可以用 show、hide、load 開頭

var dialog = {
    showTitle: true, // 又例如vue框架中,v-show="showTitle"
    hideHeader: false, // 又例如angular框架中,ng-hide="hideHeader"
    loadFooter: true, // 又例如vue框架中,v-if="loadFooter"
}

普通函數(shù)/方法

一般用 動詞 開頭。如果是及物動詞后面可以加名詞,組成 動賓結(jié)構(gòu)。

var person = {
    run(){}, // 不及物動詞
    drinkWater(){}, // 及物動詞
    eat(foo){}, // 及物動詞加參數(shù)(參數(shù)是名詞)
}

名稱也可以體現(xiàn)參數(shù):

document.getElementById('domId')
function findArticleByName(articleName) {}

回調(diào)、鉤子函數(shù)

用 介詞 開頭,或用 動詞的現(xiàn)在完成時態(tài)

button.addEventListener('click', onButtonClick)
var component = {
    beforeCreate(){},
    created(){},
    beforeMount(){},
    mounted(){},
    beforeUpdate(){},
    updated(){},
    activated(){},
    deactivated(){},
    beforeDestroy(){},
    destroyed(){}
}

類名/構(gòu)造函數(shù)的名稱,要采用Pascal命名法(即駝峰命名法+首字母大寫)。

class MyArticle {}
 
function Person (name) {
    this.name = name
}

私有屬性和方法的前綴加下劃線_, 公共屬性和方法則不用

class Person {
    // 私有屬性 
    _name;

    // 公共方法
    getName() {
        return this._name;
    }
    // 公共方法
    setName(name) {
        this._name = name;
    }
}

注意一致性

介詞一致性

例如在上述鉤子函數(shù)的命名規(guī)范中,

  • 如果你使用了 before + after,那么就在代碼的所有地方都堅持使用;
  • 如果你使用了 before + 完成時,那么就堅持使用;
  • 如果你改來改去,就 不一致 了,不一致將導致 不可預測。

再例如使用了 onButtonClick,就不要在其他地方使用 handleButtonClick。

順序一致性

比如同時命名了兩個變量: updateContainerWidth 和 updateHeightOfContainer ,

這個順序就令人很別扭,同樣會引發(fā) 不可預測

表里一致性

函數(shù)名應盡可能完美體現(xiàn)函數(shù)的功能,既不能多也不能少。

比如

function getSongs(){
    return $.get('/songs).then((response){
        div.innerText = response.songs
    })
}

就違背了表里一致性,getSongs 表示獲取歌曲,并沒有暗示這個函數(shù)會更新頁面,但是實際上函數(shù)更新了 div,這就是表里不一,正確的寫法是

要么糾正函數(shù)名

function getSongsAndUpdateDiv(){
    return $.get('/songs).then((response){
        div.innerText = response.songs
    })
}

要么寫成兩個函數(shù)

function getSongs(){
    return $.get('/songs)
}
function updateDiv(songs){
    div.innerText = response.songs
}
getSongs().then((response)=>{
    updateDiv(response.songs)
})

時間一致性

有可能隨著代碼的變遷,一個變量的含義已經(jīng)不同于它一開始的含義了,這時就需要及時改掉這個變量的名字。
這一條是最難做到的,因為寫代碼容易,改代碼難。如果這個代碼組織得不好,很可能會出現(xiàn)牽一發(fā)而動全身的情況(如全局變量就很難改)。
所以最好的做法,就是一開始就做好規(guī)劃、并且按照規(guī)范來組織代碼。

其他注意事項

避免使用不常用的縮寫

除了一些常用的所有程序員都知道的縮寫(例如 num、html),建議不要使用縮寫。

比如

  • password 不要縮寫為 psw,
  • table 不要縮寫為 tb、tbl
  • current 不要縮寫為 cur

更不要使用拼音首字母縮寫。

比如

  • 萬元戶 不要縮寫為 wyh
  • 中資公司 不要縮寫為 zzgs

這些縮寫其實沒少幾個字符,卻讓看代碼的人增加了很多理解的負擔。

避免使用容易混淆的字母和數(shù)字

比如

  • 同時用 l 和 1: level1
  • 同時用 O 和 0: 0Option

避免變量命名過于抽象

比如

var flag = false; // 可以改成更有實際含義的 isValid、 hasPermission
var obj = {}; // 可以改成更有實際含義的 currentTask、 newItem

到此這篇關(guān)于詳解JavaScript中的變量命名規(guī)范的文章就介紹到這了,更多相關(guān)JavaScript變量命名規(guī)范內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • jquery簡單體驗

    jquery簡單體驗

    jquery簡單體驗...
    2007-01-01
  • JavaScript的事件流你了解嗎

    JavaScript的事件流你了解嗎

    這篇文章主要為大家介紹了JavaScript的事件流,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2022-01-01
  • Javascript 編碼約定(編碼規(guī)范)

    Javascript 編碼約定(編碼規(guī)范)

    這篇文章主要介紹了Javascript 編碼約定(編碼規(guī)范),需要的朋友可以參考下
    2018-03-03
  • Javascript Object 對象學習筆記

    Javascript Object 對象學習筆記

    這篇文章主要介紹了Javascript Object 對象學習筆記,需要的朋友可以參考下
    2014-12-12
  • JavaScript基礎知識點歸納(推薦)

    JavaScript基礎知識點歸納(推薦)

    下面小編就為大家?guī)硪黄狫avaScript基礎知識點歸納(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • JavaScript簡介_動力節(jié)點Java學院整理

    JavaScript簡介_動力節(jié)點Java學院整理

    JavaScript是一種基于對象(Object)和事件驅(qū)動(EventDriven)并具有安全性能的腳本語言,javascript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的,動態(tài)性的,交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容
    2017-06-06
  • javascript學習筆記(六) Date 日期類型

    javascript學習筆記(六) Date 日期類型

    javascript學習筆記之Date 日期類型介紹,需要的朋友可以參考下
    2012-06-06
  • JS不用正則驗證輸入的字符串是否為空(包含空格)的實現(xiàn)代碼

    JS不用正則驗證輸入的字符串是否為空(包含空格)的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄狫S不用正則驗證輸入的字符串是否為空(包含空格)的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • javascript 數(shù)組學習資料收集

    javascript 數(shù)組學習資料收集

    由于javascript 數(shù)組應用比較廣泛,使用的朋友越來越多,腳本之家特為大家整理了一些js 數(shù)據(jù)方面的學習資料,大家看完了,基本上應該對數(shù)組有個理解了。
    2010-04-04
  • ES6 13個新特性總結(jié)

    ES6 13個新特性總結(jié)

    這篇文章主要介紹了ES6 13個新新特性總結(jié),let const,模塊字符串,解構(gòu),箭頭函數(shù),for of,promise,async/await,Symbol,Set集合等需要的朋友可以參考下
    2022-04-04

最新評論

河池市| 青铜峡市| 郴州市| 廊坊市| 宁安市| 安顺市| 保山市| 伊金霍洛旗| 嘉祥县| 交口县| 霍州市| 梁平县| 霸州市| 杭州市| 镇康县| 冀州市| 侯马市| 河西区| 罗田县| 汾阳市| 班戈县| 东台市| 兰坪| 南雄市| 镇沅| 卢氏县| 高淳县| 阿鲁科尔沁旗| 包头市| 仙居县| 霍邱县| 东乌| 铁岭县| 屏边| 花莲县| 台东市| 东阿县| 汝阳县| 龙井市| 甘孜县| 吉林省|