學習Javascript DOM 編程藝術的一點心得


     最近又看了一遍JS DOM編程藝術,照例來寫一寫讀后感。

     其實,我從中學到最深的是幾個概念:1、平穩退化。當瀏覽器並不支持JS的時候網頁的基本核心功能是還可以用的;2、逐漸增強。在原始的信息層上用其他層去增加其他信息。用CSS去增加效果,用JS去添加行為。當然某些瀏覽器可以支持部分的js,為了使舊瀏覽器可以用,不至於因為某些代碼掛掉。3、將結構、表現、行為分離,而且分離越大越好。

    然后我學到了簡單的一點關於對象檢測的技術,這在運用向后兼容原則時必要的,但文章太過保守,像:document.getElementsByTagName等也在檢測。或許在老古董的瀏覽器上有用,但現在基本無用。其次,文中說可以從:減少訪問DOM及添加標記、合理合並腳本(減少請求)、合理放置腳本位置、壓縮腳本等幾個方面提高性能。

    或許還讓我了解了一點AJAX,文中顯示建立了一個XMLHttpRequest對象、然后用該對象來發送請求接受響應,但是這是異步的。其中運用了事件監聽,而這是其異步的根源。因為,就如同onclick、onmouseover等事件一樣,該函數不會立即執行,它會加入到任務隊列之中而非主線程,而JS是單線程的。必須要待主線程空了之后才有可能執行。另,setTimeout和setInterval也是添加到任務隊列中。計時是相對於主線程空的計時,計時是可以中斷的,待主線程有了任務它就暫停計時。

    以上就是我認為與我有益的東西。

    大家對本書評價很高,確實是入門的好選擇,但最好是對HTML和CSS有所了解、對JS語言的語法本身有所了解就更好;否則一開頭還是有點困難。所以,一開頭還是先學HTML、CSS;然后將高程關於JS語言本身的部分看完再回頭學效果更好。

   我自己練習的時候遇到一個問題:Failed to load resource: net::ERR_FILE_NOT_FOUND。這是什么原因呢?路徑的問題,我是動態的產生元素,但我以為圖片的src應該是相對於我的js文件的相對路徑。但事實是建立的元素經過瀏覽器渲染之后實際好像就是原來就在這里一樣,當然路徑應該是相當於html的相對路徑了,若是使用絕對的URL不存在問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM