var func = function() {return 42;} // 省略分號(function() {// ...})();原本的意思是,建立一個函式變數(shù),接著在Clousre中執(zhí)行部分程式,但是瀏覽器以為你是要這樣:
var func = function() {return 42;} ( function() {} ) ();// 1 2 3// 1. 建立函式function() {return 42;}// 2. 將function() {} 作為參數(shù)代入1的函式執(zhí)行// 3. 將回傳的結(jié)果(42)作為函式執(zhí)行然而42是數(shù)字,無法執(zhí)行造成錯誤 。
也因為這個特性,有時候如果在不正確的地方斷行,也會造成不如預(yù)期的結(jié)果,例如:
returntrue;原本是要回傳true,卻被當(dāng)成:
return;true;另一個例子
breakloop;原本是要跳出loop這個回圈,卻被當(dāng)成:
break;loop;只跳出當(dāng)前的回圈 。
基本語法范例運算式分枝回圈函數(shù)陣列運算式范例<html> <body> <script type="text/javascript"> var x =6, y=8; var s = "Hello! " t = s + x; z = x * y; document.write("< pre>x="+x+" n y="+y+" n s="+s+" n t="+t+" n z="+z+"</pre>"); </script > </body> </html>執(zhí)行結(jié)果
x=6 y=8 s=Hello! t=Hello! 6 z=48分枝范例
<html> <body> <script type="text/javascript"> var score = 70; if (score >= 60)document.write("及格"); elsedocument.write("不及格"); </ script> </body> </html>執(zhí)行結(jié)果
及格回圈范例
<html> <body> <script type="text/javascript"> for (i=1;i<=10;i++) {if (i == 3) continue;if (i == 8) break;document. write("i="+i+"<BR/>"); } </script> </body> </html>執(zhí)行結(jié)果
i=1 i=2 i=4 i=5 i=6 i=7函數(shù)范例
<html> <body> <script type="text/javascript"> var add = function(a,b) { //第一種寫法,將匿名函數(shù)指定給變數(shù) 。return a+b; } function sub(a,b) { //第二種寫法,直接宣告函數(shù),該函式是一個函數(shù)物件,return ab; } document.write("add(3,5)=" +add(3,5)+" sub(7,2)="+sub(7,2)); </script> </body> </html>執(zhí)行結(jié)果
add(3,5)=8 sub(7,2)=5陣列范例
<html> <body> <script type="text/javascript"> var x; var friends = new Array(); friends[0] = "John"; friends[1] = "Mary"; friends[2] = "George"; for (p in friends) {document.write(p + ":"+ friends[p] + "<br />"); } </script> </body> </html>執(zhí)行結(jié)果
0:John 1:Mary 2:GeorgeJavaScript Event事件流:描述的是從頁面中接受事件的順序,IE的事件流是事件冒泡流,Netscape的事件流是事件捕獲流 。
事件冒泡:事件冒泡指的是「從啟動事件的元素節(jié)點開始,逐層往上傳遞」,直到整個網(wǎng)頁的根節(jié)點,也就是document 。
舉例一個HTML如下:
<!DOCTYPE html> <html> <head><title>TITLE</title> </head> <body><div>CLICK</div> </body> </html>假設(shè)我們點擊(click) 了<div>CLICK</div> 元素,那么在「事件冒泡」的機制下,觸發(fā)事件的順序會是:
1.<div>CLICK</div>
2.<body>
3.<html>
4.document
像這樣click 事件逐層向上依序被觸發(fā),就是「事件冒泡」機制 。
事件捕獲:剛剛說過「事件冒泡」機制是由下往上來傳遞,那么「事件捕獲」(Event Capturing) 機制則正好相反 。
<!DOCTYPE html> <html> <head><title>TITLE</title> </head> <body><div>CLICK</div> </body> </html>假設(shè)我們點擊(click) 了<div>CLICK</div> 元素,那么在「事件捕獲」的機制下,觸發(fā)事件的順序會是:
1.document
2.<html>
3.<body>
4.<div>CLICK</div>
像這樣click 事件由上往下依序被觸發(fā),就是「事件捕獲」機制 。
JavaScript氣泡事件首先,得先了解一個事件發(fā)生時,都會有一個事件源,因為事情不會憑空發(fā)生 。當(dāng)事件發(fā)生后,因為事件源本身沒有處理事件的能力,所以事件會開始傳播 。舉例來說:當(dāng)我點擊一個按鈕時,就會產(chǎn)生一個click事件,但按鈕本身無法處理這個事件,所以事件必須傳播出去,從而找到能處理這件事的函數(shù),當(dāng)找到了之后我們就會說這個函數(shù)捕捉到了這個事件 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 跑步機與普通跑步的區(qū)別是什么
- 最受歡迎的與眾不同搞笑網(wǎng)名
- 精選46句 男孩子網(wǎng)名大全霸氣側(cè)漏冷酷無情
- 關(guān)于養(yǎng)生的知識有哪些?
- 《小敏家》根據(jù)同名小說改編 周迅與黃磊攜手前進(jìn)
- 冬蟲夏草的功效與作用? 冬蟲夏草有什么功效?
- 月季花茶的功效與作用及禁忌 正確認(rèn)識月季花
- 冰糖綠豆湯的功效與作用 如何正確使用冰糖綠豆湯
- 老中醫(yī)5分鐘教你搞清楚各是什么功用 老中醫(yī)功效與作用
- 燕窩的正確吃法及用量,10種燕窩的吃法及做法 燕窩的做法與吃法
