標籤:事件處理 abc 選擇結構 多個 數學 object elb 刪除 event
/*Javascript:用來在頁面中編寫特效,和HTML、CSS一樣都是有瀏覽器解析Javascript語言: 一、JS如何運行(javascript,jscript,vbscript,applet...) 二、輸出 alert(什麼類型都可以);可以做調試用 document.write("字串"); 三、如何在HTML文檔中使用JS 使用<script></script>將js文法嵌入到html中,可以使用多個,每一個之間都是有關聯的。 <script src="demo.js"></script>引入外部js檔案,多個檔案之間是相通的,但是有先後順序。 <a href="javascript:alert("111111");"></a>點擊A連結時執行Javascirpt程式 事件:事件觸發時運行js js文法: 命名規範: 1.命名一定要有意義。 2.不以數字開頭的字母、數字、底線、$符號。 3.不能是關鍵字和保留字。 大小寫:javascript嚴格區分大小寫 駝峰式命名法:變數名和函數,第一個單詞小寫,以後每個單字首大寫showColor(); 對象:每個單詞首字母都要大寫 Data();new Object(); 分號: 結構定義語句後面不用加分號。if(){} for(){} function(){} 功能執行語句後面加分號。var a=1;如果有斷行符號換行的地方可以省略(因為js認為換行表示語句結束),但是建議都加上分號。 注釋:寫注釋文檔 //單行 多行 四、變數 var a=10; 註:聲明的變數調運後儲存在記憶體裡隨時使用,只有當關閉瀏覽器才會釋放記憶體,與別的語言不同。 var 變數名=值; 註:javascript是弱類型語言(和PHP相同) var a=10; 聲明 a=10; 賦值 五、資料類型 1.number(int float double)包括整形浮點型,計算時還是按整形和浮點型分開看。 2.string(string char) 3.boolean 4.object(object array null)注意:使用時分別處理 5.undefind沒有聲明的變數 整數: var a=10;十進位 var a=045;八進位 var a=0xff;十六進位 浮點型: 浮點數是近似數,不能用作判斷兩個浮點數等於( 0.1=0.0999999999) var f=10.5; var f=10.55; var f=10.5e+10; 字串 ‘‘ "" 沒有區別,所有的轉義都可以使用 用+號連接字串 六、運算子和運算式 算數運算子 + - * / % ++ -- var a=10+5+"12abc"+20 //1512abc20 javascript裡所有與字串運算的都按字串處理。 %(最後值的正負與前面值正負一致)求餘數的話,最好都是整數,如果有浮點數的話,求出來的值沒意義。4%2.7 值為1.29999998 賦值運算子 = += -= *= /= %= 條件運算子 > < == != >= <= === !== 兩邊比較時最好是相同類型,比較完之後值是布爾型 var a=false; if(a){alert("111");}else{alert("000");} 邏輯運算子 && || ! ^ 位元運算符號(C語言裡面加密和演算法的時候用到) >> >>> << | & ~ 其他 ?: 七、流程式控制制 順序結構 條件結構/分支結構/選擇結構 1.單路分支 if(boolean){ } 2.雙路分支 if(boolean){ }else{ } 3.多路分支 if(boolean){ }else if(boolean){ } }else if(boolean){ }用於範圍 switch(變數){ //變數值最好用整形或字元型 case:值1; 運算式1; break; case:值2; 運算式2; break; default; }單個值匹配 4.嵌套分支 if(bool){ if(bool){ ... } } 迴圈結構 條件迴圈(js用的不多) var i=0; while(i<100){ document.write("###"); i++; } do-while() 計數迴圈 st: for(var i=1;i<=9;i++){ for(var j=0;j<=9;j++){ if(j==5) break st; //退出雙重迴圈的辦法,輸出5例後跳出 document.write(j+"*"+i+"="+(j*i)+" ") } document.write("<br>"); } break退出迴圈 continue退出本次迴圈 八、函數:是一段完成“指定功能”的已經”命名“的程式碼片段 函數只用”調用“才能使用到,通過函數名稱調用(可以在聲明之前,也可以在聲明之後) function test(obj){ //obj是形參 功能段 return 值;//退出函數 } test(x); //x實參 函數名不加()時,這個函數名就代表整個函數 alert(typeof(test));//function alert(test);//函數可以看成是變數,彈出test()的函式宣告 var demo=test; demo(x);//和test(x)一樣的效果 1.函數名 2.參數 3.函數體(功能) 4.傳回值(可選)有傳回值才能稱之為函數,沒有傳回值只能稱之為過程 回呼函數:函數通過傳遞變數不能解決問題,通過傳遞函數來完成 九、對象(首字母大寫) 1.基於對象的操作方式(物件導向主要有三大特性:封裝、繼承、多態) 2.將相關的操作使用一個對象完成,看做是一個整體 字串對象 數學對象 數組對象 時間對象 對象裡存的內容: 1.屬性(變數) 2.方法(函數) 聲明對象; 使用對象; 使用系統對象; 十、內建JS對象 重要: Array對象 String對象 屬性:length 方法: bold 把HTML<b>標記放置在對象中的文本兩端 var str1="abc"; str2=str1.bold();//<b>abc</b> charAt 返回指定索引位置處的字元 replace 返回根據Regex進行文字替換後的字串的複製。 lastIndexOf 返回string對象中字串最後出現的位置 match 使用Regex模式對字串執行尋找 substr 返回一個從指定位置開始的指定長度的子字串 var s="acdscdgaefes"; var ss=s.substr(2,6);//dscdg toString toUpperCase 所有字母都轉換為大寫字母 toLowerCase 所有字母都轉換為小寫字母 Math對象 屬性:E、PI 方法: abs 絕對值 ceil 返回大於等於其數字參數的最小整數 floor 返回小於等於其數值參數的最大整數 random 返回介於0到1的偽隨機數 round 返回與給出的數值運算式最接近的整數。 max 返回數值運算式中的較大者。 min 返回數值運算式中的較小者。 var i=300; var x=Math.max(-6,Math.min(6,i));x在正6負6之間 RegExp對象 Data對象 Global對象 瞭解: Boolean對象 Function對象 Number對象 Object對象 十一、數組 Array對象 數組的作用:只要是批量的資料都需要使用數組聲明; 聲明數組: 1.快速聲明 var arrs=[item1,item2,item3,,,,,,]; var arrs=[[1,2,3],[4,5,6],[7,8,9]]; 2.使用Array對象 var arr=new Array("item1","item2","item3"); 屬性:length、prototype 方法: concat 串連數組 join 串連數組元素 pop 移除數組中最後一個元素並返回改元素 shift 移除數組中第一個元素並返回改元素 push 將新元素添加到一個駐足中 reverse 返回一個元素順序被反轉的數組對象 slice 返回數組的一段arrayobj.slice(start,end); sort 排序 splice 移除數組中的一個或多個元素 toString 返回對象的字串表示objname.toString(進位);DOM: DOM操作: 事件: 一、事件來源:任何一個HTML元素body,div,button,p,a,h1等等 二、事件:你的操作 滑鼠事件: click dbclick textcontentmenu(在body)文本菜單(滑鼠右鍵事件) <body oncontextmenu="return test()"> <script> function test(){ alert("ok"); return false; } </scirpt> </body> mouseover mouseout mousedown mouseup mousemove 鍵盤事件: keypress 鍵盤事件 只能擷取數字和字母鍵(不包括功能鍵、方向鍵等) keyup 所有按鍵 keydown 所有按鍵 文檔: load 頁面載入完之後觸發 unload beforeunload 關閉之前 表單: submit focus blur change 表單內容改變 其他: scroll滾動事件 selected選擇事件 三、事件處理 三種方法加事件: 1.標籤裡加 <p on事件="事件處理常式"></p> 2.<script></script>標籤裡加 <script> 對象.on事件=function(){ 事件處理常式 } </script> 3.不常用 <script for="事件ID" event="事件">事件處理常式</script> 事件對象: 事件發生時產生的事件對象 屬性: 1.srcElement 事件來源對象,不需要用this一般用this,不過可以用來解決相容性 <p onclick="show()">aaaaa</p> <script> function show(){ window.srcElement.innerText="aaa"; } </script> 2.keyCode 事件發生時的鍵盤碼 <body onkeydown="show()"> <script> function show(){ alert(event.keyCode); } </script> </body> 3.clientX,clientY 4.screenX,screenY 5.returnValue window.event.returnValue=false; 6.cancelBubble取消冒泡 <body onclick="one()"> <img src="images/ren_s_1.png" onclick="two"> <script> function one(){ alert("body click"); } function two(){ alert("img click"); window.event.cancelBubble=ture; //當出現冒泡事件後,程式執行到這裡就不在往下執行。 } </script> </body> BOM:瀏覽器物件模型 一、瀏覽器本身就有一些對象,這些對象不用建立就能使用; 1.window:當前瀏覽器表單的 屬性: status opener closed 方法: alert(); confirm(); onclick="return confirm("你確認刪除嗎?");" setInterval(); var num=0; var dir=1; setInterval(function(){ if(num>40||num<0){ dir=-1*dir; } num+=dir; var space=""; for(var i=0;i<num;i++){ space+=" "; //通過添加空格來實現滾動向右顯示; } window.status=space+"滾動顯示的內容"; },100); clearInterval(); seTimeout(); clearTimeout(); open(); window.open("url","windowName","windowFeature");*/
javascript複習筆記