国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

編程實踐

tuniutech / 538人閱讀

摘要:將從中抽離不允許使用屬性比如來綁定一個事件處理程序。避免空比較檢測原始值如果你希望一個值是字符串?dāng)?shù)字布爾值或。當(dāng)再次發(fā)生錯誤時,這將有助于更容易地解決問題。

UI層的松耦合

將CSS從JavaScript中抽離

不允許在js中修改元素的樣式,最佳方法是控制className。

有例外:比如說定位等問題,可以修改而不使用className控制。

將JavaScript從HTML中抽離

不允許使用 on 屬性(比如onclick)來綁定一個事件處理程序。

js代碼應(yīng)當(dāng)寫在外部文件中然后引用。

將HTML從JavaScript中抽離

無法避免,使用前端模板工具,推薦使用Handlebar。

事件處理

規(guī)則

規(guī)則一:隔離應(yīng)用邏輯,即把事件觸發(fā)需要執(zhí)行的代碼提取出來。

規(guī)則二:不要分發(fā)事件對象,應(yīng)用邏輯不應(yīng)當(dāng)依賴于event對象來正確完成功能。最佳的辦法是在事件處理程序中使用event(包括獲取event里的數(shù)據(jù),阻止默認(rèn)事件,阻止事件冒泡),然后將拿到的 數(shù)據(jù)在傳給應(yīng)用邏輯。

避免空比較

檢測原始值

如果你希望一個值是字符串、數(shù)字、布爾值或undefined。最佳選擇是使用typeof運算符。

typeof獨特在于即使未聲明的變量也不會報錯。未聲明的變量和值為undefined的變量都返回undefined。

字符串,typeof返回"string"。

數(shù)字,typeof返回"number"。

布爾值,typeof返回"boolean"。

undefined,typeof返回"undefined"。

若要檢測null,直接使用 === 或 !== 。

檢測引用值

最佳的選擇是使用instanceof運算符。

但instanceof不能跨frame。

函數(shù)和數(shù)組一般不用instanceof。

檢測函數(shù)

檢測函數(shù)最好的方法是使用 typeof ,因為它可以跨frame。

但在IE8和更早版本中,使用typeof檢測用于獲取DOM節(jié)點的方法(例如,getElementById等方法)會返回object而不是function。因此檢測DOM的方法的最好的方法是 in運算符(如果需要兼容IE8及以下)。例如"querySelectorAll" in document

檢測數(shù)組

最優(yōu)雅的檢測方法:

jsfunction isArray(value){
    return Object.prototype.toString.call(value) === "[object Array]";
}

檢測屬性

檢測屬性最好的方法就是 in 運算符。

如果只想檢測實例對象的某個屬性是否存在,則使用hasOwnProperty()。在IE8

將配置數(shù)據(jù)從代碼中分離出來

什么是配置數(shù)據(jù)

URL

需要展現(xiàn)給用戶的字符串

重復(fù)的值

設(shè)置

任何可能發(fā)生變更的值

抽離配置數(shù)據(jù)(重要)

保存配置數(shù)據(jù)——甚至可以提取到多帶帶的文件中

拋出自定義數(shù)據(jù)

拋出錯誤就是自己留下告訴自己為什么失敗的原因

拋出錯誤最佳的地方實在工具函數(shù)中,公共接口中。

一旦修復(fù)了一個很難調(diào)試的錯誤,嘗試增加一兩個自定義錯誤。當(dāng)再次發(fā)生錯誤時,這將有助于更容易地解決問題。

如果正在 編寫代碼,思考一下:我希望「某些事情」不會發(fā)生,如果發(fā)生,我的代碼會一團糟糕。這時如果某些事情發(fā)生,就拋出一個錯誤。

如果正在編寫的代碼別人也會使用,思考一下他們使用的方式,在特定的情況下拋出錯誤。

不是你的對象不要動 不能修改的

原生對象

DOM對象

瀏覽器對象(BOM)

類庫的對象(jquery)

不能修改的原則

不覆蓋方法

不新增方法

不刪除方法

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

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

相關(guān)文章

  • Java異常處理 10 個最佳實踐

    摘要:為可恢復(fù)的錯誤使用檢查型異常,為編程錯誤使用非檢查型錯誤。檢查型異常保證你對錯誤條件提供異常處理代碼,這是一種從語言到強制你編寫健壯的代碼的一種方式,但同時會引入大量雜亂的代碼并導(dǎo)致其不可讀。在編程中選擇檢查型異常還是運行時異常。 異常處理是Java 開發(fā)中的一個重要部分。它是關(guān)乎每個應(yīng)用的一個非功能性需求,是為了處理任何錯誤狀況,比如資源不可訪問,非法輸入,空輸入等等。Java提供了...

    Forelax 評論0 收藏0
  • 2021秋軟工實踐第一次結(jié)對編程作業(yè)

    摘要:在結(jié)對編程的模式下,可以互相監(jiān)督,高效地交流想法。通過這次的作業(yè)讓我體驗到了結(jié)對編程與個人編程的不同,和后者相比起來,前者的工作目的會更加明確,工作時間更加緊湊。 ...

    learn_shifeng 評論0 收藏0
  • 用Kolb學(xué)習(xí)模型來學(xué)編程

    摘要:會用其它人的分析結(jié)果,并付諸實踐,更偏向于執(zhí)行,通過錯誤來學(xué)習(xí)。四語言學(xué)習(xí)的方法有些人可能通過感受和觀察就能很好的學(xué)習(xí)了,比如我們所熟知的一些學(xué)霸。 小推廣講堂《60分鐘徒手?jǐn)]出Spring框架》,別只會用,干脆自己擼一個輪子吧 一 前言 1984年, 大衛(wèi)·庫伯曾在他的著作《體驗學(xué)習(xí):體驗——學(xué)習(xí)發(fā)展的源泉》提出了學(xué)習(xí)圈理論,與他認(rèn)為經(jīng)驗學(xué)習(xí)過程是由四個適應(yīng)性學(xué)習(xí)階段構(gòu)成的環(huán)形結(jié)構(gòu),...

    Flands 評論0 收藏0
  • 從小白程序員一路晉升為大廠高級技術(shù)專家我看過哪些書籍?(建議收藏)

    摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報率高。馬上就十一國慶假期了,給小伙伴們分享下,從小白程序員到大廠高級技術(shù)專家我看過哪些技術(shù)類書籍。 大家好,我是...

    sf_wangchong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<