一 JavaScript是什么?有什么作用?
? ? ? ? HTML:寫網(wǎng)頁 人的身體
? ? ? ? css:美化頁面? 人的衣服
? ? ? ? JavaScript:頁面行為大腦靈魂
? ??????JavaScrip是web上強(qiáng)大的腳本語言
? ? ? ? ? ? ? ? 腳本語言:
? ? ? ? ? ? ? ? ? ? ? ? 無法獨(dú)立執(zhí)行,必須嵌入到其他語言中結(jié)合使用直接被瀏覽器解析執(zhí)行
? ? ? ? 作用:控制頁面特效展示
? ? ? ? 例如:
? ? ? ? ? ? ? ? js可以對(duì)HTML元素進(jìn)行動(dòng)態(tài)控制
? ? ? ? ? ? ? ? js對(duì)表單想進(jìn)行校驗(yàn)
? ? ? ? ? ? ? ? js可以控制css的樣式
二?JavaScrip的語言特征及編程注意事項(xiàng)
? ? ? ?1 特征
? ? ? ? ? ? js無需編譯,直接被瀏覽器解釋并執(zhí)行
? ? ? ? ? ? js無法單獨(dú)執(zhí)行,必須嵌入到HTML代碼中執(zhí)行
? ? ? ? ? ? js執(zhí)行過程 由上到下依次執(zhí)行
? ? ? ? ? ? js
? ? 2 注意:
? ? ? ? ? ? js沒有訪問系統(tǒng)文件的權(quán)限
? ? ? ? ? ? js無需編譯,是由上到下一次解釋執(zhí)行,所以在保證可讀性的情況下,允許使用鏈?zhǔn)骄幊?/p>
? ? ? ? ? ? js和java沒有任何直接關(guān)系
三?JavaScrip的組成
1 ECMAScript(核心):規(guī)定了js的語法和基本對(duì)象
2 DOM文檔對(duì)象模型:處理網(wǎng)頁內(nèi)容的方法和接口標(biāo)記型文檔即HTML
3 BOM瀏覽器對(duì)象模型:與瀏覽器交互的方法和接口
四??JavaScrip的引入方式
? ? ? ? 1 內(nèi)部腳本
? ? ? ? ? ? ? ? 在當(dāng)前頁面內(nèi)部寫script標(biāo)簽,script內(nèi)部可以書寫js代碼
? ? ? ? ? ? 格式:<script type="text/javascrip">js代碼</script>
? ? ? ? ? ? 注:<script>標(biāo)簽理論上可以書寫在HTML文件的任意位置
? ? 2 外部引入
? ? ? ? ? ? 在HTML文檔中,通過<script type="></script>標(biāo)簽引入.js文件
? ? ? ? ? ? 格式:
? ? ? ? ? ? 注:外部引用時(shí)script標(biāo)簽內(nèi)不能有script代碼,機(jī)寫了也不會(huì)執(zhí)行
五 script標(biāo)簽規(guī)范化的一個(gè)放置的位置
? ? 開發(fā)規(guī)范規(guī)定:script標(biāo)簽放置位置為:body結(jié)束標(biāo)簽前
? ? 優(yōu)點(diǎn):保證HTML展示內(nèi)容優(yōu)先加載,最后加載腳本,增加用戶體驗(yàn)性
六 js語法及規(guī)則
? ? 注釋:
? ? ? ? ? ? 單行注釋://
? ? ? ? ? ? 多行注釋:/**/
七 變量
? ? ? 變量:標(biāo)識(shí)內(nèi)容中的一塊空間,用于存儲(chǔ)數(shù)據(jù),且數(shù)據(jù)時(shí)可變的
? ? 變量的聲明:var 變量名;// 變量賦予默認(rèn)值,默認(rèn)值為undefined
? ? 變量的聲明和賦值:var 變量名=值;//變量賦予對(duì)應(yīng)的值
? ? 在聲明javascript變量是,需要遵循一下命名規(guī)范
? ? ? ? 1 必須以字母或下劃線開頭,中間可以數(shù)字,字符或下劃線,美元符號(hào)
? ? ? ? 2 變量名不能包含空格等符號(hào)
? ? ? ? 3 不能使用javascript關(guān)機(jī)子或保留字作為變量名
? ? ? ? 4 javascript嚴(yán)格區(qū)分大小寫
八 基本數(shù)據(jù)類型
? ? 1 類似于java中的基本數(shù)據(jù)類型
? ? ? ? String? 字符串類型,""? 和 ''都是字符串,javascript中沒有單個(gè)字符
? ? ? ? boolean? 布爾類型 固定值為null false
? ? ? ? number? ? ?數(shù)值類型,任意數(shù)字
? ? ? ? null? ?空,一個(gè)占位符
? ? ? ? undefined? ?未定義類型,該類型只有一個(gè)固定值,即undefined,表示變量聲明卻未定義具體的值
? ? 2 注:因?yàn)閡ndefined是從null中派生出來的,所以u(píng)ndefined==null
? ? 3 js區(qū)別于java,時(shí)弱類型的語言,變量的使用不必嚴(yán)格遵循規(guī)范,所以應(yīng)該變量聲明好之后,時(shí)可以賦予任意類型的值
? ? 4 通過typeof運(yùn)算符可以分辨變量值屬于那種基本數(shù)據(jù)類型,對(duì)變量或值調(diào)用typeof運(yùn)算將返回下列值之一:
? ? unsefined? ? 變量undefined類型的
? ? boolean? ? 變量時(shí)boolean類型的
? ? number? ?變量時(shí)number類型的
? ? string? ? 變量時(shí)string類型的
? ? object? ? 變量時(shí)null類型的,獲者是一種引用類型
九 引用數(shù)據(jù)類型
? ? 引用類型通常叫做類,但在javascript中,因?yàn)椴淮嬖诰幾g過程,所以沒有類的概念,所處理的引用數(shù)據(jù)類型都是對(duì)象
? ? 標(biāo)準(zhǔn)創(chuàng)建方式:
? ? ? ? var str=new String();//和java相同
? ? ? ? var str=new String;//js獨(dú)有的方式
十 運(yùn)算符
? ? javascript運(yùn)算符與java運(yùn)算符基本一致,蛀牙學(xué)習(xí)不同點(diǎn)
? ? 比較運(yùn)算符
? ? ? ? 運(yùn)算符? ? ? 描述
? ? ? ? ==? ? ? ? ? ? 等于(邏輯等,僅僅對(duì)比值)
? ? ? ? ===? ? ? ? ? ? 全等(對(duì)比值,并且對(duì)比類型們都相同為true)
? ? ? ? !=? ? ? ? ? ? ? ? ?不等于
? ? ? ? !==? ? ? ? ? ? ? ?不全等
? ? ? ? >? ? ? ? ? ? ? ? ? ? 大于
? ? ? ? <? ? ? ? ? ? ? ? ? ? 小于? ? ??
? ? ? ? >=? ? ? ? ? ? ? ? ?大于或等于
? ? ? ? <=? ? ? ? ? ? ? ? ?小于或等于
邏輯運(yùn)算符
? ? ? ? 運(yùn)算符? ? ? ? 描述
? ? ? ? &&? ? ? ? ? ? ? ?and
? ? ? ? ||? ? ? ? ? ? ? ? ? ? or
? ? ? ? !? ? ? ? ? ? ? ? ? ? not
? ? ? ? 注:javascript邏輯運(yùn)算符沒有&