這是我第一次用markdown,也是我第一次在網(wǎng)上記錄我自己的學(xué)習(xí)過(guò)程秕重。
第一章#
JavaScript主要由以下三個(gè)不同的部分構(gòu)成
- ECMAScript??提供核心語(yǔ)言功能
- DOM?????提供訪問(wèn)和操作網(wǎng)頁(yè)內(nèi)容的方法和接口
- BOM?????瀏覽器對(duì)象模型,提供瀏覽器交互的方法和接口
第二章
- 關(guān)于<script>加了空格是否算報(bào)錯(cuò)
<script ></script> //這樣是錯(cuò)的,第一個(gè)<script>多了一個(gè)空格
<scripT></Script>//這樣是沒(méi)有錯(cuò)的,但是我們還是按照規(guī)范寫(xiě)比較好 - <noscript>當(dāng)script不允許被執(zhí)行時(shí)才會(huì)被顯示出來(lái)
- 延遲腳本
<script defer="defer" src="example.js"></script>
中的加入defer的作用之后囤屹,包含的腳本將會(huì)-1.立即下載-2.在</html>之后執(zhí)行。 - 異步腳本
<script async src="example.js"></script>
逢渔,加入async的作用是告訴瀏覽器立即下載文件肋坚,在頁(yè)面的load事件前執(zhí)行。
第三章
-
關(guān)于標(biāo)識(shí)符
第一個(gè)字符必須是- 一個(gè)字母
- 下劃線(_)
- 一個(gè)美元符號(hào)($) ------------這一點(diǎn)也許相對(duì)特殊
-
ECMASCRIPT的變量是松散類型的
- 換句話說(shuō)肃廓,每個(gè)變量?jī)H僅是一個(gè)用于保存的占位符而已智厌,它不像C++,每一個(gè)值有確定的類型
-
用var操作符定義的變量將會(huì)成為定義該作用域中的局部變量
function test(){var a=1;alert(a);}
test();//輸出1
alert(a);//錯(cuò)誤!!!!!function test2(){a=1;alert(a);} test();//輸出1 alert(a);//輸出1
上面若是不用var定義盲赊,則創(chuàng)建了一個(gè)全局變量a铣鹏。
雖然省略var操作符可以定義全局變量,但不推薦這樣的做法
- 在嚴(yán)格模式下哀蘑,不能定義eval或者arguments的變量诚卸,否則會(huì)導(dǎo)致語(yǔ)法錯(cuò)誤
- 數(shù)據(jù)類型:有5種簡(jiǎn)單數(shù)據(jù)類型(基本數(shù)據(jù)類型)
- Undefined(表示該值未定義)
- Null
- Boolean
- String
- Number
????還有1種復(fù)雜數(shù)據(jù)類型: - Object