知识与语法整理笔记 js零基础快速学习教程( 二 )


var func = function() {return 42;} // 省略分号(function() {// ...})();原本的意思是,建立一个函式变数,接着在Clousre中执行部分程式,但是浏览器以为你是要这样:
var func = function() {return 42;} ( function() {} ) ();// 1 2 3// 1. 建立函式function() {return 42;}// 2. 将function() {} 作为参数代入1的函式执行// 3. 将回传的结果(42)作为函式执行然而42是数字,无法执行造成错误 。
也因为这个特性,有时候如果在不正确的地方断行,也会造成不如预期的结果,例如:
returntrue;原本是要回传true,却被当成:
return;true;另一个例子
breakloop;原本是要跳出loop这个回圈,却被当成:
break;loop;只跳出当前的回圈 。
基本语法范例运算式分枝回圈函数阵列运算式范例<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>执行结果
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>执行结果
及格回圈范例
<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>执行结果
i=1 i=2 i=4 i=5 i=6 i=7函数范例
<html> <body> <script type="text/javascript"> var add = function(a,b) { //第一种写法,将匿名函数指定给变数 。return a+b; } function sub(a,b) { //第二种写法,直接宣告函数,该函式是一个函数物件,return ab; } document.write("add(3,5)=" +add(3,5)+" sub(7,2)="+sub(7,2)); </script> </body> </html>执行结果
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>执行结果
0:John 1:Mary 2:GeorgeJavaScript Event事件流:描述的是从页面中接受事件的顺序,IE的事件流是事件冒泡流,Netscape的事件流是事件捕获流 。
事件冒泡:事件冒泡指的是「从启动事件的元素节点开始,逐层往上传递」,直到整个网页的根节点,也就是document 。
举例一个HTML如下:
<!DOCTYPE html> <html> <head><title>TITLE</title> </head> <body><div>CLICK</div> </body> </html>假设我们点击(click) 了<div>CLICK</div> 元素,那么在「事件冒泡」的机制下,触发事件的顺序会是:
1.<div>CLICK</div>
2.<body>
3.<html>
4.document
像这样click 事件逐层向上依序被触发,就是「事件冒泡」机制 。
事件捕获:刚刚说过「事件冒泡」机制是由下往上来传递,那么「事件捕获」(Event Capturing) 机制则正好相反 。
<!DOCTYPE html> <html> <head><title>TITLE</title> </head> <body><div>CLICK</div> </body> </html>假设我们点击(click) 了<div>CLICK</div> 元素,那么在「事件捕获」的机制下,触发事件的顺序会是:
1.document
2.<html>
3.<body>
4.<div>CLICK</div>
像这样click 事件由上往下依序被触发,就是「事件捕获」机制 。
JavaScript气泡事件首先,得先了解一个事件发生时,都会有一个事件源,因为事情不会凭空发生 。当事件发生后,因为事件源本身没有处理事件的能力,所以事件会开始传播 。举例来说:当我点击一个按钮时,就会产生一个click事件,但按钮本身无法处理这个事件,所以事件必须传播出去,从而找到能处理这件事的函数,当找到了之后我们就会说这个函数捕捉到了这个事件 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: