javascript
【HM】第2课:JavaScript基础
<pre>
?
day02
?
第一天的內容:
???????? *html標簽里面的表單標簽
???????? *html標簽里面的表格標簽
?
思維導圖
?
1、JavaScript的簡介
???????? * 什么是JavaScript:js是一個基于對象和事件驅動的語言,應用客戶端。
???????? **基于對象:在java里面如果使用對象需要創建;在js里面提供一些對象,直接使用
???????? **事件驅動:每次調用事件產生一個新的效果
???????? **客戶端:專門指的瀏覽器
?
???????? *js可以做什么:js可以實現一些簡單的動態的效果
?
???????? * js三個特點:
???????? **基于事件驅動的
???????? **安全性特點:不能直接訪問本地的文件
???????? **跨平臺特點:只有平臺上面安裝了支持js的瀏覽器可以運行
?
???????? * JavaScript和java區別(雷鋒和雷峰塔)
???????? **JavaScript是網景公司開發的,java是sun公司,現在是oracle產品
???????? **java是強類型語言,JavaScript是弱類型
?????????????????? ***比如在java里面定義變量: int a = 10; 這樣寫就不正確了int aa = "20";
?????????????????? ***在js里面沒有這些規定,使用一個關鍵字 var b = 10; var c = "10";var f = true;
???????? **java跨平臺性需要依賴虛擬機,但是js只需要有一個支持js的瀏覽器就可以了
?
???????? * js的組成:
???????? **包含三部分
???????? ***第一部分:ECMAScript
?????????????????? *ECMA:European Computer Manufactures Association 是一個組織,歐洲計算機制造商協會
???????? ???????? * 由這個組織執行規范,這個規范是js的語法,語句....
???????? ***第二部分:bom對象
?????????????????? *browser object model: 瀏覽器對象模型
?
???????? ***第三部分:dom對象
?????????????????? *document object model:文檔對象模型
?
2、js和html的結合方式
???????? *js的注釋有兩種:單行注釋// , 多行注釋 /* */
???????? *java里面的注釋有三種:單行注釋// , 多行注釋 /* */,文檔注釋 /**? */
???????? *有兩種結合方式
???????? **第一種結合方式:在html里面寫標簽 <script type="text/javascript"> js代碼;</script>
???????? ***代碼
?????????????????? <scripttype="text/javascript">
??????????????????????????? alert("haha");
?????????????????? </script>
????????
???????? **第二種結合方式:
???????? *首先,在html里面寫一個標簽,<script type="text/javascript" src="js文件的路徑"></script>
???????? *其次,創建一個js文件,在js文件里面寫js代碼
???????? ***注意一: 當使用了外部引入js文件的方式時候,在script標簽里面就不要寫js代碼了,即使寫了也不會執行。
???????? ***注意二:script標簽不能在標簽內結束,不能<script type="text/javascript" src="js文件的路徑"/>
???????? ?只能這樣結束 <script type="text/javascript" src="js文件的路徑"></script>
?
3、js的數據類型和變量聲明
???????? *java八個基本數據類型和對應的包裝類
???????? *在js里面定義變量,都使用一個關鍵字 var
???????? *js有五個原始類型(注意不要和對象的類型弄混了)
???????? **string:字符串類型
?????????????????? varstr = "abc";
???????? **number:數字類型
?????????????????? varaa = 100;
???????? **boolean:布爾類型
?????????????????? varflag = true;
?
???????? **null:對象引用為空,空的引用????? (??用typeof怎么體現出來??)
?????????????????? **在java里面,Date date = new Date();
?????????????????? **var date = null;
???????? **undifined: 定義一個變量,但是沒有賦值? var cc;
?
???????? *運算符:typeof(變量名稱),查看當前變量的類型
???????? **代碼
?????????????????? varflag = true;
?????????????????? //alert(flag);
?????????????????? alert(typeof(flag))
????????
???????? *js的引用類型
?
4、js的語句(和java相似,只是變量聲明要用var)
???????? *java里面有哪些語句
???????? **判斷語句 if
???????? **switch語句
???????? **循環語句 for? while? do-while
?
???????? *js的判斷語句 if
???????? **=:表示賦值,==:表示判斷
???????? **代碼
?????????????????? //if判斷語句
?????????????????? vara = 50;
?????????????????? if(a== 5) {
??????????????????????????? alert(a);
?????????????????? }else {
??????????????????????????? alert("other");
?????????????????? }
????????
???????? *js的switch語句
???????? **java里面的switch語句
???????? **java里面switch語句在jdk1.7開始支持string類型
???????? switch(a){
?????????????????? case10:
??????????????????????????? break;
?????????????????? case5:
??????????????????????????? break;
?????????????????? default:
??????????????????????????? ....
???????? }
???????? **代碼
?????????????????? //switch語句
?????????????????? varb = 51;
?????????????????? switch(b){
??????????????????????????? case2:
???????????????????????????????????? alert("2");
???????????????????????????????????? break;
??????????????????????????? case5:
???????????????????????????????????? alert("5");
???????????????????????????????????? break;
??????????????????????????? default:
???????????????????????????????????? alert("other");
?????????????????? }
?
???????? *js的循環語句
???????? **while語句
???????? ***代碼
?????????????????? //while循環語句
?????????????????? varc = 5;
?????????????????? while(c<8){
??????????????????????????? alert(c);
??????????????????????????? c++;
?????????????????? }
????????
???????? **for循環語句
???????? **代碼
?????????????????? //for循環語句
?????????????????? for(vari=0;i<=3;i++) {
??????????????????????????? alert(i);
?????????????????? }
?
???????? **知識引入:
???????? 可以直接使用dom對象里面的方法實現向頁面輸出內容的操作
???????? document.write("固定值、變量、html標簽")
???????? **代碼
?????????????????? //for循環語句
?????????????????? for(vari=0;i<=3;i++) {
??????????????????????????? //alert(i);
??????????????????????????? document.write(i);
??????????????????????????? document.write("<br/>");
?????????????????? }
?
5、js的運算符
???????? *算術運算符
?????????????????? +- * / ....
????????
???????? *關系運算符
?????????????????? <> <= >= ==
????????
???????? *邏輯運算符
?????????????????? &&|| !
?????????????????? *&& : 條件同時滿足
?????????????????? *|| : 只要一個滿足成立
?
???????? *三元運算符
?????????????????? ?:
?????????????????? a>5? 10 : 0
????????
???????? ** number類型的操作(易錯點1)
???????? ***如果在java里面
?????????????????? inta = 123/1000*1000; 在java里面結果是0
???????? ***在js的number里面不區分整數和小數
?????????????????? //number類型的操作
?????????????????? varaa = 123;
?????????????????? document.write(aa/1000*1000);結果是 123(java語法會返回0)
?????????????????? varbb = true;
?????????????????? document.write(bb/2);??? 結果是0.5
??????????????????
???????? ***如果執行算術操作,值不是一個數字,返回NaN
?
???????? **字符串的相加和相減操作
???????? ***在java里面字符串相加,做拼接操作
?????????????????? //string的相加和相減
?????????????????? varstr = "aa";
?????????????????? document.write(str+1);//字符串拼接輸出aa1
?????????????????? document.write(str+true);//字符串拼接輸出aatrue
??????????????????
?????????????????? document.write("<hr/>");
?????????????????? document.write(str-1);//?????? 真正執行了相減運算,如果結果不是數字則輸出NaN
?
?????????????????? var a = '23';
???????? ???????? outln(a- true);????????? //輸出22
???????? ???????? outln(a- false);???????? //輸出23??????????????????
????????
???????? **boolean類型的操作
???????? ***會把boolean類型true當做1;會把boolean類型的false當做0
?????????????????? //boolean類型操作
?????????????????? varflag = true;
?????????????????? document.write(flag+1);//會把boolean類型true當做1
?
?????????????????? document.write("<hr/>");
?????????????????? varflag1 = false;
?????????????????? document.write(flag1+1)//會把boolean類型的false當做0
?
???????? **a++和++a區別
???????? ***a++:先執行再+1
???????? ***先+1,再執行
?
???????? **== :條件判斷
???????? **===和==區別
???????? *** == 比較的是值,與類型無關
???????? *** === 比較是值和類型
???????? 例子:
?????????????????? var a = 'true';
???????? ???????? varb = true;
???????? ???????? outln((a== b);?? //返回的是false
??????????????????
?????????????????? vara = '1';
???????? ???????? var b = true;
???????? ???????? outln((a == b) + "--"+? typeof(a) + "--"+? typeof(b));????????????? //返回true
???????? ???????? outln(a === b);?????????????????? //返回false
??????????????????
?????????????????? vara = '23';
???????? ???????? var b = 23;
???????? ???????? outln((a == b));????????? //返回的是true
???????? ???????? outln(a === b);????????? //返回的是false,因為a和b的類型不一樣。
?
??????????????????
6、練習:99乘法表
???????? *在html中空格需要轉義?
???????? *代碼
?????????????????? //循環行
?????????????????? document.write("<tableborder='1'>");
?????????????????? for(vari=1;i<=9;i++) {
??????????????????????????? document.write("<tr>");
??????????????????????????? //循環列
??????????????????????????? for(varj=1;j<=i;j++) {
???????????????????????????????????? document.write("<td>");
???????????????????????????????????? document.write(j+"*"+i+"="+i*j);
???????????????????????????????????? document.write("</td>");
??????????????????????????? }
??????????????????????????? //document.write("<br/>");
??????????????????????????? document.write("</tr>");
?????????????????? }
?????????????????? document.write("</table>");
?
7、js的數組
???????? *定義一個變量只能存一個值,但是數組里面可以存多個值,并且值的類型可以各不相同。
???????? *java里面數組定義: String[] arr = {"aa","bb"};
???????? **在java里面如果這樣寫,肯定不行的:String[] arr = {10,"bb"};
?
???????? *js的定義數組
???????? **第一種: var arr1 = new Array();
???????? **第二種: var arr2 = [10,"aa",true];
???????? **第三種: var arr3 = new Array(5); 表示定義一個數組,數組的長度是5
?????????????????? ***賦值,通過下標
?????????????????? arr3[0]= "aaa";
???????? **第四種: var arr4 = new Array(5,6,7);表示定義一個數組,數組里面的元素是 5 67
????????
???????? *數組里面的屬性:length,代表數組的長度
???????? *遍歷數組
???????? for(vari=0;i<arr.length;i++) {
?????????????????? //獲取數組里面的值
?????????????????? vara = arr[i];
???????? }
?
???????? **代碼
?????????????????? //第一種方式
?????????????????? vararr1 = [10,"aa"];
?????????????????? document.write(arr1);
?????????????????? document.write("<br/>");
?????????????????? document.write(arr1.length);
?
?????????????????? document.write("<hr/>");
?????????????????? //第二種方式
?????????????????? vararr2 = new Array(3);
?????????????????? arr2[0]= "mary";
?????????????????? arr2[1]= "jack";
?????????????????? arr2[2]= "lucy";
?????????????????? document.write(arr2);
?????????????????? document.write("<br/>");
?????????????????? document.write(arr2.length);
?
?????????????????? document.write("<hr/>");
?????????????????? //第三種方式
?????????????????? vararr3 = new Array(5,6,7);
?????????????????? document.write(arr3);
?????????????????? document.write("<br/>");
?????????????????? document.write(arr3.length);
????????
???????? *js數組長度是可變的
?????????????????? *長度是最大的下標+1
?????????????????? *沒有值,顯示空字符串 ""
?????????????????? //js數組是可變的
?????????????????? vararr4 = new Array(5);
?????????????????? arr4[0]= "aaa";
?????????????????? arr4[1]= "bbb";
?????????????????? arr4[10]= "ccc";
?????????????????? document.write(arr4);????????????? //arr[2-9]的值是為空。
?????????????????? document.write("<br/>");
?????????????????? document.write(arr4.length);?????????????????? //返回值是11
?
8、js的String對象
???????? varstr = "abc";
???????? *屬性:length 得到字符串的長度
?????????????????? //length屬性
?????????????????? varstr = "abcdef";
?????????????????? document.write(str.length);
???????? *方法:
???????? **有兩類:
???????? 第一類:與html相關的方法(改變字符串的樣式的方法),這個比write(標簽)要來得
???????????????????????????????????? 簡單多了。
?????????????????? =bold() 使用粗體顯示字符串。
??????????????????????????? ==document.write(str.bold());
??????????????????
?????????????????? =fontcolor() 使用指定的顏色來顯示字符串。
??????????????????????????? ==document.write(str.fontcolor("red"));
?
?????????????????? =fontsize() 使用指定的尺寸來顯示字符串。
??????????????????????????? *在html中font標簽屬性size值 1-7
??????????????????????????? *在fontsize方法里面值也是1 - 7
??????????????????????????? ==document.write(str2.fontsize(7));
?
?????????????????? =link() 將字符串顯示為鏈接
??????????????????????????? ==document.write(str3.link("0-html的轉義.html"));
??????????????????
?????????????????? =sub()和sup()方法
??????????????????????????? *在html中有<sub>表示下標和<sup>表示上標
??????????????????????????? =
?
?
?
???????? 第二類:與java相似的方法(在java里面也有類似的方法)
???????? =charAt() 返回在指定位置的字符
?????????????????? ==var str = "abcd";
?????????????????? document.write(str.charAt(10));//如果查找的位置不存在,返回空字符串""(在java
??????????????????????????????????????????????????????? 語法中會直接拋出越界異常)
????????
???????? =concat() 連接字符串
?????????????????? ==var a = "hello";
?????????????????? varb = "world";
?????????????????? document.write(a.concat(b));
????????
???????? =indexOf() 檢索字符串或字符,不存在則返回-1-------注意一點:O字母要大寫----------
?????????????????? ==var str1 = "abcdef";
?????????????????? document.write(str1.indexOf("h"));
????????
???????? =split() 把字符串分割為字符串數組
?????????????????? ==var str2 = "a-b-c-d";
?????????????????? vararr = str2.split("-");//分割之后返回的是數組
?????????????????? document.write(arr.length);
????????
???????? =substr() 從起始索引號提取字符串中指定數目的字符。
???????? =substring() 提取字符串中兩個指定的索引號之間的字符,不包括后面的索引位置。
?????????????????? ==document.write("<hr/>");
?????????????????? vars = "abcdefghytre";
?????????????????? document.write(s.substr(3,5));? //defgh ,
??????????????????????????? //第一個參數字符的開始位置(從0開始);第二個參數從開始位置向后獲取幾個字符
?????????????????? document.write("<hr/>");
?????????????????? document.write(s.substring(3,5));//de? [3,5),
??????????????????????????? //第一個參數字符的開始位置,第二個參數表示結束位置但是不包含結束位置
?
10、js的Array對象
???????? *創建數組
???????? *var arr1 = [1,"aa"];
???????? *var arr2 = new Array(3);
???????? *var arr2 = new Array(3,5,6);
?
???????? *屬性:length,獲取數組的長度
?
???????? *方法:
???????? =concat() 連接數組,并返回結果(object對象類型)。
?????????????????? ==var arr1 = ["mary","jack","tom"];
?????????????????? vararr2 = ["lucy","zhangsan","wanger"];
?????????????????? document.write(arr1.concat(arr2));
?
???????? = join() 把數組通過指定的分隔符進行分隔,返回string類型。
?????????????????? ==var arr3 = new Array(3);
?????????????????? arr3[0]= "aa";
?????????????????? arr3[1]= "bb";
?????????????????? arr3[2]= "cc";
?????????????????? document.write(arr3);
?????????????????? document.write("<br/>");
?????????????????? document.write(arr3.join("-"));
??????????????????
???????? =pop() 刪除并返回數組的最后一個元素,如果數組為空返回undefined。
?????????????????? ==document.write("<hr/>");
?????????????????? vararr4 = ["mary","jack","tom","lucy"];
?????????????????? //輸出原始值
?????????????????? document.write("old:"+arr4);
?????????????????? document.write("<br/>");
?????????????????? //執行pop方法的返回值
?????????????????? document.write("return:"+arr4.pop());
?????????????????? document.write("<br/>");
?????????????????? //執行pop方法之后的數組的值
?????????????????? document.write("new:"+arr4);
??????????????????
?????????????????? vara = new Array();
???????? ???????? outln(a.pop());????????? //返回undefined
??????????????????
?????????????????? vara = new Array(2);
???????? ???????? outln(a.pop());????????? //返回undefined
???????? ????????
???????? =push() 向數組的末尾添加元素,并返回新數組的長度
?????????????????? ==document.write("<hr/>");
?????????????????? vararr5 =["mary","jack","tom","lucy","wangwu"];
?????????????????? //輸出原始值
?????????????????? document.write("old:"+arr5);
?????????????????? document.write("<br/>");
?????????????????? //數組原始的長度
?????????????????? document.write("oldlength: "+arr5.length);
?????????????????? document.write("<br/>");
?????????????????? //執行push方法的返回值
?????????????????? document.write("return:"+arr5.push("zhaoliu"));
?????????????????? document.write("<br/>");
?????????????????? //執行push方法之后數組的值
?????????????????? document.write("new:"+arr5);
?????????????????? document.write("<br/>");
?????????????????? //執行push方法之后數組的長度
?????????????????? document.write("newlength: "+arr5.length);
?
?????????????????? ==如果使用push方法添加數組,把數組當做一個整體添加進去,即使添加的數組
??????????????????????????? 有多個元素,新數組的長度也只會加1.
?????????????????? document.write("<hr/>");
?????????????????? vararr6 = ["AAA","BBB","CCC"];
?????????????????? vararr7 = ["TTT","WWW"];
?????????????????? //輸出原始值
?????????????????? document.write("old:"+arr6);
?????????????????? document.write("<br/>");
?????????????????? //數組原始的長度
?????????????????? document.write("oldlength: "+arr6.length);
?????????????????? document.write("<br/>");
?????????????????? //執行push方法的返回值
?????????????????? document.write("return:"+arr6.push(arr7));
?????????????????? document.write("<br/>");
?????????????????? //執行push方法之后數組的值
?????????????????? document.write("new:"+arr6);
?????????????????? document.write("<br/>");
?????????????????? //執行push方法之后數組的長度
?????????????????? document.write("newlength: "+arr6.length);
?????????????????? //遍歷
?????????????????? for(vari=0;i<arr6.length;i++) {
??????????????????????????? alert(arr6[i])
?????????????????? }
?
???????? =reverse() 顛倒數組中元素的順序。
?????????????????? ==var arr8 = ["AAA","BBB","CCC"];
?????????????????? document.write(arr8);
?????????????????? document.write("<br/>");
?????????????????? document.write(arr8.reverse());
?
11、js的Date對象
???????? *在java里面獲取當前時間 Date date = new Date();
???????? *在js獲取當前時間 var date = new Date();
?????????????????? //獲取當前的時間
?????????????????? vardate = new Date();
?????????????????? document.write(date);
?????????????????? //把時間轉換成當前格式的時間?
?????????????????? document.write("<br/>");
??????????????????
???????? =toLocaleString() 根據本地時間格式,把Date 對象轉換為字符串,注意Locale后面的
???????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????? e字母容易忘掉寫。
?????????????????? ==document.write(date.toLocaleString());
????????
???????? *獲取當前年,月,星期,日,小時,分,秒,毫秒
???????? =獲取當前的年:getFullYear() 從 Date 對象以四位數字返回年份,getYear()是返回兩
?????????????????? 位(已過時)
?????????????????? ==document.write(date.getFullYear());
????????
???????? =獲取當前的月:getMonth() 從 Date 對象返回月份 (0 ~ 11)。
?????????????????? ==document.write(date.getMonth()+1);
?????????????????? *返回月份 (0 ~ 11),所有想要得到準確的月份,需要+1
????????
???????? =獲取當前的星期:getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)。
?????????????????? ==document.write(date.getDay());
?????????????????? *獲取星期一到星期六返回1-6;但是獲取星期日返回 0
?
???????? =獲取當前的日:getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。
?????????????????? ==document.write(date.getDate());
?
???????? =獲取當前小時:getHours()
?????????????????? ==document.write(date.getHours());
????????
???????? =獲取當前分鐘:getMinutes()
?????????????????? ==document.write(date.getMinutes());
????????
???????? =獲取當前的秒:getSeconds()
?????????????????? ==document.write(date.getSeconds());
????????
???????? =獲取當前毫秒:1970至今的毫秒數getTime() 返回 1970 年 1 月 1 日至今的毫秒數
?????????????????? ==document.write(date.getTime());
?????????????????? *應用場景:
?????????????????? **第一種用途:讓某個值每次都不相同(把每個用戶名添加隨機的毫秒數)
?????????????????? **第二種用途:防止請求緩存(在請求的地址后添加一個參數是毫秒數)??????
?
12、js的Math對象(和java一樣,里面的屬性和方法都是靜
?????????? 態的)
???????? *屬性:PI,圓周率 3.14
???????? *方法:
???????? =floor(x) 對數進行下(小)舍入?????? //注意負數
???????? =ceil(x) 對數進行上(大)舍入???????? //注意負數
???????? =round(x) 把數四舍五入為最接近的整數
?????????????????? ==var c = 10.1;
?????????????????? //floor(x)對數進行下舍入
?????????????????? document.write(Math.floor(c));//10
?????????????????? document.write("<br/>");
?????????????????? //ceil(x)對數進行上舍入
?????????????????? document.write(Math.ceil(c));//11
?
?????????????????? //round(x)把數四舍五入為最接近的整數
?????????????????? vara = 10.5;
?????????????????? document.write("<hr/>");
?????????????????? document.write(Math.round(a));
?
???????? =random() 返回 0 ~ 1 之間的隨機數,包括0不包括1.
?????????????????? ==//random() 返回 0 ~ 1 之間的隨機數
?????????????????? document.write("<hr/>");
?????????????????? document.write(Math.random());
?
?????????????????? ==得到0-9之間的隨機數,結合其它的數字函數和運算可以得到自定義范圍的隨
??????????????????????????? 機數。
?????????????????? document.write(Math.floor(Math.random()*10));
????????
???????? =max(x,y) 返回 x 和 y 中的最高值
???????? =min(x,y) 返回 x 和 y 中的最低值
???????? =pow(x,y) 返回 x 的 y 次冪
?
13、js的RegExp對象
???????? *正則表達式:定義字符串出現的規則
???????? *方法:
?????????????????? =test 檢索字符串中指定的值。返回 true 或 false
??????????????????????????? ==var reg = new RegExp("[a]");//定義正則表達式
??????????????????????????? varstr = "zhng";
??????????????????????????? document.write(reg.test(str));
??????????????????????????? *調用對象里面的test方法,傳遞要匹配字符串,如果可以匹配返回true,否則返回false
?
安裝三類瀏覽器:ie8及其以上版本,火狐瀏覽器,谷歌瀏覽器
?
14、js的bom對象
???????? *瀏覽器對象模型
???????? *Navigator :獲取瀏覽器的信息
???????? *screen :獲取當前屏幕的信息????????
???????? *Location : URL 的信息,屬性href 得到當前請求的 URL地址。
???????? *history :獲取瀏覽器里面訪問的路徑的歷史
?
???????? * window對象(重點掌握)
???????? **代表一個窗口對象,頂層對象
?
???????? =alert():向頁面彈出框? window.alert();window可以省略
???????? =setInterval() 按照指定的周期(以毫秒計)來調用函數或計算表達式。
?????????????????? ==表示在一定的時間內,重復執行js代碼
?????????????????? *在每一秒以內重復執行 alert("abc");
?????????????????? ==//每三秒,執行一次alert操作
?????????????????? window.setInterval("alert('abc');",3000):第一個參數是js代碼(注意要加雙引號,如
??????????????????????????????????????????????????????? 果js代碼中有雙引號,應改為單引號),第二個參數是毫秒數
?
???????? =setTimeout() 在指定的毫秒數后調用函數或計算表達式。(注意o字母小寫)
?????????????????? ==表示在一定的時間之后,執行一次js代碼
?????????????????? !!而且應注意以上兩個方法受瀏覽器的兼容性影響大,如果出現問題,應多找幾
??????????????????????????? 個瀏覽器調試。
15、js的全局變量和局部變量
???????? *在java里面是成員變量
???????? *全局變量:在script標簽里面定義一個變量,這個變量可以在html中的任意script標簽里面都可以使用
?
???????? *局部變量:在某個方法里面定義一個變量,這個變量只能在這個方法里面使用
???????? **js定義方法(函數) function add1() { }
?
???????? *在ie里面自帶了調試工具,點擊鍵盤上面F12,在瀏覽器下面出現一個條,選擇控制臺,得到錯誤信息
?
16、script標簽位置
???????? *一般約定:放到</body>后面
?
???????? *知識的引入
???????? **在表單標簽里面 type="button"
???????? **點擊按鈕,觸發一個事件,鼠標點擊事件
?
???????? *html的解析是從上到下進行解析的,如果在body標簽里面寫輸入項,把script標簽放到head里面
???????? ,如果在js里面獲取輸入項的值肯定獲取不到的,因為解析到獲取操作時候,還沒有解析到輸入項那部分,所以肯定得不到
?
===========================================================================================
課程總結:
???????? (1)什么是js?
???????? (2)js的三個特點
???????? (3)js和java的區別
???????? (4)js的組成
?
???????? (5)js的原始類型和變量聲明
???????? *有五個原始類型 string number? boolean? null?undifined
???????? *var定義變量
?
???????? (6)js的語句(與java類似)
???????? *=表示賦值,==判斷
?
???????? (7)js的運算符
???????? *number不區分整數和小數
???????? *string操作+拼接字符串,-真正減法操作
???????? *不是數字返回NaN
???????? *==和===區別:==比較的是值,===比較值和類型
?
???????? (8)js的數組
???????? *var arr1 = [1,"aa"];
???????? *var arr2 = new Array(3);
???????? *var arr2 = new Array(3,5,6);
???????? *屬性:length,獲取數組的長度
???????? *數組的長度:最大的下標+1
?
???????? (9)js的String對象
???????? *屬性:length,獲取字符串的長度
???????? *第一類與html相關的方法
????????
???????? (10)js的Array對象
???????? *屬性:length,獲取數組的長度
???????? *push方法:添加元素
?
???????? (11)js的Date對象
???????? *獲取當前年,月,星期,日,小時,分,秒
???????? **獲取毫米數 使用 getTime方法
?
???????? (12)js的Math對象
???????? *方法,直接Math.方法名
?
???????? (13)js的RegExp對象
???????? *方法 test方法
?
???????? (14)js的bom對象
???????? *navigator、screen、location、history
???????? **window對象是一個頂層對象,表示一個窗口
???????? **三個方法
???????? ***alert()
???????? ***setInterval()
???????? ***setTimeout()
?
???????? (15)js的全局變量和局部變量
?
???????? (16)script標簽位置約定放到</body>后面
?
</pre>
轉載于:https://blog.51cto.com/4259297/1665734
總結
以上是生活随笔為你收集整理的【HM】第2课:JavaScript基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)深入理解最强桌面地图控件GMAP.
- 下一篇: Android 照相功能