首頁 >web前端 >js教程 >JavaScript學習心得

JavaScript學習心得

一个新手
一个新手原創
2017-09-06 10:43:163512瀏覽

一、前言:

前段時間看紅寶書(JavaScript高級程式設計),但沒有計劃的去看,也沒有做詳細的筆記,讀了之後有點空虛,感覺不對勁啊,學的東西很難記住,印像不深啊,有種挫折感,當前端的js都學不好怎麼做前端。後端都學js了,你說死不死。

因此吾閱之,再閱之,並決心記之以博客,以增強印象,作得讀書筆記,以便日後翻看及供大家參閱與討論。

溫馨提示:筆記言語會有主觀色彩,知識重點記錄。

二、JavaScript歷史

  • #說法在上世紀末1995年,Netscape公司推出Navigator瀏覽器。人家公司有追求,不單單能實現靜態HTML,人家還想​​要有動態效果,還想著能去處理表單的驗證,不要老是等到後台那邊才知道表單輸入合不合法,特別在那個年代,一次一等就上分鐘,現在我們等上個十秒都想關掉它是不是,嘴邊還吐槽著什麼破網站。

  • 動手:有目標就去做,Netscape公司大牛多,Brendan Eich 用10天(網上說10天)就把JavaScript搞了出來,剛出來時叫LiveScript,為了蹭當紅明星Java熱度,就改成JavaScript了,所以事實上他們兩沒啥關係。

  • 競爭:看到Netscape公司有了js,微軟感覺不行啊,我的IE要被幹掉啊,同時也感到js的前途無量,於是弄了個名為JScript的JavaScript的實作。

  • 標準: Netscape和微軟競爭出現的js導致版本的不一致,隨著業界的擔心,JavaScript的標準化被提上議程。 ECMA組織就去做這事,最後在弄出97年了ECMAScript作為標準。這裡ECMAscript和JavaScript可以看做表達同一個東西

三、ECMAScript

ECMAScript(以下簡稱ES)由ECMA-262制定,ES的主要是語言的語法基礎,是一種標準的存在。如果硬要區分ES和JS,ES是語言基礎標準,而JS就是在這標準的基礎上所實現的語言。

關於ES版本:ES從1997年制定好到現在已經經歷很多版本,前面的版本都是一些小的修改。重要版本:

  • ES3,第三個版本,是對標準的第一次真正意義上修改

  • 2009年的ES5是目前各大流行瀏覽器所支援的

  • 2015年出版的ES6也流行起來。

  • 2015年後的每年也出版本,但瀏覽器還沒能夠支援。

四、JavaScript實作

javascript由三個部分組成:

1.ECMAScript :核心部分,是js的語法基礎,後面會繼續寫其文法。
2.DOM(文字物件模型) :用於操作HTML文件的應用程式介面。關於DOM:

  • DOM的出現使得動態HTML(DHTML)得以實現,可以不用重新載入頁面而改變網頁的外觀和內容。

  • DOM帶來的問題:主要是相容性方面,Netscape和微軟各抒己見,使得瀏覽器不相容的局面產生。未解決此問題W3C著手規劃DOM

  • DOM等級:DOM1,DOM2,DOM3 ,這裡的等級相當於DOM的版本一樣,代表DOM在不斷的完善,現在最新是DOM3

3.BOM(瀏覽器模型) :使用BOM可以控制瀏覽器顯示的頁面以外的部分

五、JavaScript使用:

#(1)標籤屬性:在網頁中使用js關鍵的是使用3f1c4e4b6b16bbbd69b2ee476dc4f83a標籤,其有6個屬性:

  1. ##async:可選,表示立即下載腳本,但不妨礙頁面中的其他操作。也就是非同步腳本,只適用於外部腳本檔案。

  2. defer:可選,表示腳本可以延遲到文件完全被解析和顯示後在執行。也就是延遲腳本,只適合與外部腳本檔案。

  3. src:可選,表示包含要執行程式碼的外部檔案。

  4. type:預設text/Javascript。預設執行js,可以不用指定。

  5. charset:可選,表示透過src屬性指定程式碼的字元集,大多數瀏覽器會忽略它的值,很少人使用。

  6. language:已廢棄

    常用就前4個

(2)使用:使用

5b8b77bb7a3607db25abf34210579d17 :有兩種操作:

1. 直接在標籤內寫入程式碼,即在html中內嵌程式碼,這種方式不建議。如:


<script>
 function helloWorld(){
    alert("hello world!");
 }
 helloWorld();</script>

2. 另一種透過src屬性引入外部的檔案。


<script src="js/hello.js"></script>

盡可能使用外部引用js文件,優點:

  • 可維護性:內嵌程式碼在html中,維護困難且可讀性差,在js單獨的檔案中維護將輕鬆的多。

  • 可缓存:浏览器可以根据具体的设置缓存链接的所用外部js文件

  • 适应未来:通过外部文件来包含js无须对XHML的特别处理和注释hack。HTML和XHTML的包含文件的语法相同。

特别注意:3f1c4e4b6b16bbbd69b2ee476dc4f83a在使用了src属性后,不要在内嵌代码,此时的内嵌的代码不会被执行。只会执行src对应文件的代码。

(3)位置:关于3f1c4e4b6b16bbbd69b2ee476dc4f83a 在HTML文档中的位置:

在HTML4中规定3f1c4e4b6b16bbbd69b2ee476dc4f83a 标签可以放在 93f0f5c25f18dab9d176bd4f6de5d30e6c04bd5ca3fcae76e30b72ad730ca86d 标签内。
由于浏览器解析HTML文档是由上到下,且在遇到3f1c4e4b6b16bbbd69b2ee476dc4f83a 标签后会先解析和执行js代码,并中断HTML的加载,所以放在93f0f5c25f18dab9d176bd4f6de5d30e 标签中是会使得HTML文档可视内容中断加载。
画重点:所以3f1c4e4b6b16bbbd69b2ee476dc4f83a 标签的位置首考虑放在6c04bd5ca3fcae76e30b72ad730ca86d 标签底部。例如:


<html>
    <head>
       <title>hello js</title>
    </head>
    <body>
        <p>hello js!</p>
        <!-- js文件放在body底部 -->
        <script src="example.js"></script>
    </body></html>

六、JavaScript的平稳退化方案

什么是平稳退化:就是有些浏览器不支持js,当然现在几乎没有浏览器这么菜啦,还有就是js功能被禁用。这时就需要没有js的情况下你的网页怎么友好一点交互,不会搞得太难看,太尴尬。
使用2b0b25ff593c5b6c03403dd6234ffb2c 标签,应用场景:

  • 浏览器不支持JavaScript

  • 浏览器支持脚本,但脚本被禁止了

例子:当浏览器不支持js或禁用js时就会显示出noscript标签中的内容,若浏览器能执行js则noscript就被隐藏。


<html>
    <head>
        <script src="example.js"></script>
    </head>
    <body>
        <noscript>
         <p>本页面需要浏览器支持JavaScript</p>
        </noscript>
    </body></html>

以上是JavaScript學習心得的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn