javascript復習筆記
阿新 • • 發佈:2017-07-22
之間 絕對值 都是 名稱 字符串表 nbsp 最好 span 隨機數
/* 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 返回根據正則表達式進行文字替換後的字符串的復制。 lastIndexOf 返回string對象中字符串最後出現的位置 match 使用正則表達式模式對字符串執行查找 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復習筆記