第五章 實例

  • 平穩退化:沒有JS也能正常運行
  • 分離js:把網頁的結構和內容與JS的運動行為分開
  • 向后兼容性:老版本不會因為你的JS而死掉
  • 性能考慮

js->行為層;css->表現層

1. 平穩退化(搜索機器人searchbot)

window對象的open()->創建新的瀏覽器窗口
window.open(url,name,features)

  • 三個參數都是可選的:
    • 如果省略,空白的瀏覽器窗口
    • 新窗口的名字,可以通過它在代碼里與它進行通信
    • 以逗號分隔的字符串,新窗口的各種屬性

JS偽協議

通過一個鏈接來調用JS函數;真協議:用來在Internet上的計算機間傳輸數據包,HTTP\ FTP···

  • 偽協議調用JS代碼 ×
    <a href="javascript:popUp('http://www.example.com/');">example</a>
  • 內嵌的事件處理函數 onclick ··· ×
    <a onclick="this.href; return false;">example</a>

“#”

僅供文檔內部使用的鏈接記號(href="#"不指向任何鏈接

漸進增強

標記良好的內容就是一切。

2. 向后兼容

  • 對象檢測(能當做對象來對待)JS基礎

把某方法打包在一個if語句里。
if(method){ statements }×
如果不理解
if(!method){ return false; }

  • 瀏覽器嗅覺(browser sniffung)

通過提取瀏覽器供應商提供的信息來解決向后兼容問題。風險非常大,被對象檢測取代

3. 性能考慮

  1. 盡量少訪問DOM和盡量減少標記

只是查詢DOM中的某些元素,瀏覽器都會遍歷整個DOM樹

  • 重構代碼:學會把遍歷結果保存在變量里;一組元素以參數形式傳遞給函數
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • <a name='html'>HTML</a> Doctype作用?標準模式與兼容模式各有什么區別? (1)、<...
    clark124閱讀 3,554評論 1 19
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    前端進階之旅閱讀 114,796評論 24 450
  • 前言 歸根結底,代碼都是思想和概念的體現。沒人能把一種程序設計語言的所有語法和關鍵字都記住,可以查閱參考書來解決。...
    朱細細閱讀 2,968評論 4 14
  • 二、東亞教育具有循規蹈矩的“普魯士基因” 在十九世紀之前,教育其實是個類似手工業的學徒制,不管是東方的私塾還是西方...
    張耘菩閱讀 448評論 0 1
  • 2015.6.26 周五 受到了一個同胞的關注,畫的女兒被推薦了。因為是自家的人設所以根本沒有期待被喜歡,然而被看...
    Dr_Million閱讀 203評論 0 1