前段時間看紅寶書(JavaScript高級程式設計),但沒有計劃的去看,也沒有做詳細的筆記,讀了之後有點空虛,感覺不對勁啊,學的東西很難記住,印像不深啊,有種挫折感,當前端的js都學不好怎麼做前端。後端都學js了,你說死不死。
因此吾閱之,再閱之,並決心記之以博客,以增強印象,作得讀書筆記,以便日後翻看及供大家參閱與討論。
溫馨提示:筆記言語會有主觀色彩,知識重點記錄。
#說法在上世紀末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(以下簡稱ES)由ECMA-262制定,ES的主要是語言的語法基礎,是一種標準的存在。如果硬要區分ES和JS,ES是語言基礎標準,而JS就是在這標準的基礎上所實現的語言。
關於ES版本:ES從1997年制定好到現在已經經歷很多版本,前面的版本都是一些小的修改。重要版本:
ES3,第三個版本,是對標準的第一次真正意義上修改
2009年的ES5是目前各大流行瀏覽器所支援的
2015年出版的ES6也流行起來。
2015年後的每年也出版本,但瀏覽器還沒能夠支援。
1.ECMAScript :核心部分,是js的語法基礎,後面會繼續寫其文法。
2.DOM(文字物件模型) :用於操作HTML文件的應用程式介面。關於DOM:
DOM的出現使得動態HTML(DHTML)得以實現,可以不用重新載入頁面而改變網頁的外觀和內容。
DOM帶來的問題:主要是相容性方面,Netscape和微軟各抒己見,使得瀏覽器不相容的局面產生。未解決此問題W3C著手規劃DOM
DOM等級:DOM1,DOM2,DOM3 ,這裡的等級相當於DOM的版本一樣,代表DOM在不斷的完善,現在最新是DOM3
3.BOM(瀏覽器模型) :使用BOM可以控制瀏覽器顯示的頁面以外的部分
3f1c4e4b6b16bbbd69b2ee476dc4f83a
標籤,其有6個屬性:常用就前4個
:有兩種操作:
<script> function helloWorld(){ alert("hello world!"); } helloWorld();</script>2. 另一種透過src屬性引入外部的檔案。
<script src="js/hello.js"></script>盡可能使用外部引用js文件,優點:
可缓存:浏览器可以根据具体的设置缓存链接的所用外部js文件
适应未来:通过外部文件来包含js无须对XHML的特别处理和注释hack。HTML和XHTML的包含文件的语法相同。
特别注意:
3f1c4e4b6b16bbbd69b2ee476dc4f83a
在使用了src属性后,不要在内嵌代码,此时的内嵌的代码不会被执行。只会执行src对应文件的代码。
3f1c4e4b6b16bbbd69b2ee476dc4f83a
在HTML文档中的位置:在HTML4中规定3f1c4e4b6b16bbbd69b2ee476dc4f83a
标签可以放在 93f0f5c25f18dab9d176bd4f6de5d30e
和6c04bd5ca3fcae76e30b72ad730ca86d
标签内。
由于浏览器解析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>
什么是平稳退化:就是有些浏览器不支持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中文網其他相關文章!