JavaScript1

JavaScript(行為層)

1、JavaScript介紹

JavaScript是一種輕量級(jí)的腳本語(yǔ)言,是一種用于客戶端web開(kāi)發(fā)的腳本語(yǔ)言。

2、JavaScript創(chuàng)建方式

JavaScript代碼塊可以嵌在任何地方,但一般放在<head>中。

(1)內(nèi)嵌式

(2)外鏈?zhǔn)?/p>

(3)事件定義??(JS區(qū)分大小寫(xiě))

嵌入在html標(biāo)簽的屬性中,onclick點(diǎn)擊事件

作為標(biāo)簽的屬性出現(xiàn),屬性值就是JS代碼。

3、JavaScript輸出方式

(1)alert?(window.alert)??警告??不識(shí)別標(biāo)簽

(2)document.write(123);??可以識(shí)別標(biāo)簽,內(nèi)容寫(xiě)到了body里。

document也是window對(duì)象的屬性,本身也是一個(gè)對(duì)象。

方法:方法名()

(3)console.log()???控制臺(tái)日志,工作中調(diào)試常用。

alert()函數(shù)會(huì)阻斷JavaScript程序的執(zhí)行。

(4)console.error()???報(bào)錯(cuò)

(5)console.warn()???警告

(6)console.info()??信息級(jí)別

4、onclick?,當(dāng)鼠標(biāo)點(diǎn)擊一下時(shí)執(zhí)行一次

onmouseover?,當(dāng)鼠標(biāo)放上去時(shí)執(zhí)行一次

onmouseout?,當(dāng)鼠標(biāo)移出去時(shí)執(zhí)行一次

onmousedown?,當(dāng)鼠標(biāo)按下時(shí)執(zhí)行一次

onmouseup?,當(dāng)鼠標(biāo)在上面松開(kāi)(彈起)時(shí)執(zhí)行一次

ondblclick?,當(dāng)鼠標(biāo)雙擊時(shí)執(zhí)行一次

onload?,當(dāng)對(duì)象加載完成時(shí)執(zhí)行一次

5、JS中常用對(duì)話框

(1)警示對(duì)話框alert()???window.alert()??無(wú)返回值

(2)確認(rèn)對(duì)話框confirm()??window.confirm()??有返回值,返回值是布爾型

(3)提示輸入對(duì)話框prompt()??window.prompt()??有返回值,返回值是輸入框中的值(字符串),點(diǎn)擊取消返回是null。

6、JS數(shù)據(jù)類(lèi)型

基本數(shù)據(jù)類(lèi)型

(1)字符串?string

(2)數(shù)字??number

(3)布爾??boolean

(4)null?一個(gè)“空”的字,可用來(lái)清空變量,表示對(duì)象為空。

(5)undefined??表示變量不含有值

復(fù)合數(shù)據(jù)類(lèi)型

數(shù)組??對(duì)象

7、變量命名規(guī)則

(1)必須以字母、下劃線或$開(kāi)頭。

(2)變量名區(qū)分大小寫(xiě)。

(3)不允許使用關(guān)鍵字和保留字做變量名。

如:break,default,else,void,int,double,public等等。

8、變量的聲明

語(yǔ)法:var?變量名;

9、算數(shù)運(yùn)算符??+-*/%

b=a++;先賦值再自增

b=++a;先自增再賦值

JS是弱數(shù)據(jù)類(lèi)型的語(yǔ)言,如果數(shù)字與字符串相加,數(shù)字就會(huì)被同化為字符串;如果數(shù)字與字符串相減,乘,除,取余,字符串會(huì)被同化為數(shù)字,轉(zhuǎn)化數(shù)字成功(字符串為由數(shù)字組成的字符串)直接做運(yùn)算,失敗顯示NAN(not?a?number)。

10、檢測(cè)數(shù)據(jù)類(lèi)型

alert(typeof(sum));或者alert(typeof?sum);

11、比較操作符

==?值相等??===恒相等??值相等,類(lèi)型也一樣

!=不等???!==不恒等

12、邏輯運(yùn)算符

&&?||??!

運(yùn)算符的優(yōu)先級(jí)

!?>?算術(shù)運(yùn)算符(+-*/%)>?關(guān)系運(yùn)算符(>=?<=?==?===?!=)>?&&?>?||(邏輯運(yùn)算符)>?賦值運(yùn)算符(=)

特殊例子:

0.1+0.2==?0.3??false

0.1+0.2=0.3000...4

13、a.tostring()?轉(zhuǎn)化為字符串

a.tostring(2)??轉(zhuǎn)化為對(duì)應(yīng)的進(jìn)制??該例子為轉(zhuǎn)化為二進(jìn)制

14、類(lèi)型轉(zhuǎn)換

(1)var?bool?=?true;

alert(bool*1);//輸出1?,布爾值true轉(zhuǎn)換成數(shù)字為1,事實(shí)上將其它值轉(zhuǎn)換在數(shù)字最簡(jiǎn)單的方法就是將其乘以1

另一種方法:

轉(zhuǎn)化為整型:var?num?=parseInt(prompt(“請(qǐng)輸入一個(gè)數(shù)”));

轉(zhuǎn)化為浮點(diǎn)型:var?num?=parseFloat(prompt(“請(qǐng)輸入一個(gè)數(shù)”));

(2)bool?=?false;

alert(bool*1);//輸出0

alert(bool+"");//輸出"flase",將其它類(lèi)型轉(zhuǎn)換成字符串的最簡(jiǎn)單的方法就是將其寫(xiě)一個(gè)空字符串相連

(3)var?str?=?"some?string";

str?="";

alert(!!str);//輸出false,只有空字符串轉(zhuǎn)換成布爾值時(shí)會(huì)是false,非空字符串轉(zhuǎn)換成布爾值都會(huì)返回true

(4)var?num?=0;

alert(!!num);//false

num=-123.345;

alert(!!num);//true,除0以外的任何數(shù)字轉(zhuǎn)換成布爾值都會(huì)是true

//還有一個(gè)非常重要的是,空字符串轉(zhuǎn)換成數(shù)字將會(huì)是0

alert(""*1);//輸出0

15、分支與循環(huán)

<1>Javascript中的程序結(jié)構(gòu)分為:

1.順序結(jié)構(gòu):沒(méi)有任何結(jié)構(gòu)就是順序,所有語(yǔ)句從上到下,逐條執(zhí)行

順序結(jié)構(gòu)主要包括注釋語(yǔ)句、賦值語(yǔ)句、輸入輸出等語(yǔ)句

2.分支結(jié)構(gòu)

(1)單分支{}語(yǔ)句體

要么做,要么不做;如果if(條件)條件為true,那么執(zhí)行if(){}所有語(yǔ)句,否則直接跳過(guò)if結(jié)構(gòu)

(2)雙分支或多分支

if…else??????if…elseif…else?if…elseswitch

3.循環(huán)結(jié)構(gòu)

for循環(huán)

while循環(huán)

do…while循環(huán)

for…in循環(huán)

<2>switch和多重if的異同

相同點(diǎn):都可以實(shí)現(xiàn)多分支結(jié)構(gòu)

不同點(diǎn):

Switch:只能處理等值的條件判斷,且條件是整型變量或字符變量的等值判斷

多重if:處理在else部分還包含其它if結(jié)構(gòu),特別適合某個(gè)變量處于某個(gè)區(qū)間時(shí)的情況

<3>循環(huán)

while循環(huán):先判斷后執(zhí)行??至少執(zhí)行0次

do-while循環(huán):先執(zhí)行后判斷??至少執(zhí)行1次

for循環(huán):先判斷后執(zhí)行

for(參數(shù)初始化;條件判斷;更新循環(huán)變量){

循環(huán)體

}

執(zhí)行順序:<1>參數(shù)初始化<2>條件判斷<3>循環(huán)體<4>更新循環(huán)變量

<4>跳轉(zhuǎn)語(yǔ)句

1.break

可跳出循環(huán)執(zhí)行循環(huán)外面的語(yǔ)句

2.continue

跳出本次循環(huán)??continue后面的語(yǔ)句不執(zhí)行,執(zhí)行下一次循環(huán)。

16、函數(shù)

(1)函數(shù)特點(diǎn):封裝代碼,代碼的重用性強(qiáng)。

(2)函數(shù)是為完成某一功能的程序指令(語(yǔ)句)的集合,是執(zhí)行特定任務(wù)的語(yǔ)句塊。

(3)分類(lèi):自定義函數(shù),系統(tǒng)函數(shù)(內(nèi)置函數(shù),包括預(yù)定義函數(shù))。

(4)全局函數(shù)包括:

1.eval()將字符串?dāng)?shù)字轉(zhuǎn)換成數(shù)字,可進(jìn)行直接執(zhí)行js代碼;

2.isNaN()用來(lái)計(jì)算一個(gè)參數(shù)以確定它是否為非數(shù)字;

不是數(shù)字返回true,是數(shù)字返回false。

3.parseInt()/parseFloat()將數(shù)字字符串強(qiáng)制轉(zhuǎn)化為一個(gè)數(shù)值;

4.isFinite()用來(lái)確定參數(shù)是否是一個(gè)有限數(shù)值.也就是說(shuō),如果該參數(shù)為非數(shù)字NaN,正無(wú)窮數(shù),或負(fù)無(wú)窮數(shù),則返回false,否則返回true;如果是字符串類(lèi)型的數(shù)字,將會(huì)自動(dòng)關(guān)轉(zhuǎn)化為數(shù)字型;

5.escape函數(shù)/unescape()將字符串進(jìn)行編碼和解碼?,這樣就可以在所有的計(jì)算機(jī)上讀取該字符串。

(5)函數(shù)定義

function?函數(shù)名(){

函數(shù)體;

}

函數(shù)名必須是唯一的!

(6)函數(shù)調(diào)用

1.函數(shù)名()在JS里寫(xiě)。

2.onclick=”函數(shù)名()”通過(guò)事件來(lái)觸發(fā)調(diào)用函數(shù)

注意:如果局部變量不是先聲明再賦值,就會(huì)默認(rèn)為局部變量。

eg:var?j?=?5;?與??j?=?5;的區(qū)別。

(7)作用域

1.全局作用域???2.局部作用域(函數(shù)作用域)

(8)DOM

(Document?Object?Model)文檔對(duì)象模型

獲取元素對(duì)象的方法:

document.getElementById(“id值”);

獲取非form表單標(biāo)簽的內(nèi)容:

元素對(duì)象.innerHTML;????(能識(shí)別標(biāo)簽)

設(shè)置非form表單標(biāo)簽的內(nèi)容:

元素對(duì)象.innerHTML=內(nèi)容;

獲取form表單里的值:

元素對(duì)象.value;???????(不能識(shí)別標(biāo)簽)

設(shè)置form表單里的值:

元素對(duì)象.value=值;

17、變量前置

所有變量會(huì)先設(shè)置為undefined,如果賦值才有值。

eg:var?a=5,b=6;

if(a>b){var?c?=7;}???輸出c是undefined

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類(lèi)型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類(lèi)型 使用基本類(lèi)型...
    大學(xué)一百閱讀 3,692評(píng)論 0 4
  • 第一章: JS簡(jiǎn)介 從當(dāng)初簡(jiǎn)單的語(yǔ)言,變成了現(xiàn)在能夠處理復(fù)雜計(jì)算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,764評(píng)論 0 6
  • 不知道為什么大家都喜歡減重,太胖了確實(shí)是不太好的一件事,畢竟你還是身材適中比較好!下面說(shuō)說(shuō)減重的一些分享...
    鴻運(yùn)當(dāng)頭168閱讀 181評(píng)論 0 1
  • 今天從公司走路回家
    煙澀寒閱讀 110評(píng)論 0 0
  • 序言:說(shuō)說(shuō)《武志紅心理學(xué)》讀后感的由來(lái),周一的時(shí)候佐江哥給我發(fā)微信說(shuō):“冬晴,你和雪莉姐、艷琰她們建了一個(gè)心理學(xué)的...
    話說(shuō)天晴了閱讀 593評(píng)論 2 1

友情鏈接更多精彩內(nèi)容