1、 Js基礎
1.1 運算符
算術操作符(+、-、*、/等),
比較操作符(<、>、>=、<=等),
邏輯操作符(&&、||、!)
注意: “=” 操作符是賦值,不是等於。
+在JS中可以表示字符串的連接和數學運算
1.2 自加一,自減一( ++和- -)
mynum = mynum + 1;//等同於mynum++
mynum = mynum - 1;//等同於mynum—
1、Number+Number
輸出:Number(數字加數字,輸出數字)
2、Number+String
輸出:String(數字加字符串,輸出字符串)
3、Boolean轉換成數0或1,支持數字運算
4、null轉換成字符串“null”,邏輯運算的“false”或數字運算“0”
附:
如果是字符串,使用String(),數字使用Number();
比如:jq3=Number("33")+22;輸出的是55,而不是“3322”
jq3=Number(22)+"33";或者jq3=Number(22)+String(33);輸出的是“2233”,不是55
1.2邏輯與操作符
b>a && b<c //“&&”是並且的意思, 讀法"b大於a"並且" b小於c "兩邊值同時滿足(同時爲真),整個表達式值才爲真
b>a || b<c //“||”是或的意思 當兩個條件中有任一個條件滿足,整個表達式成立
邏輯非操作符:"!"是邏輯非操作符,也就是"不是"的意思,非真即假,非假即真
操作符之間的優先級(高到低):
算術操作符 → 比較操作符 → 邏輯操作符 → "="賦值符號
S中變量聲明分顯式聲明和隱式聲明
var i=100; //顯示 |
1 |
i=100; //隱式 |
在函數中使用var關鍵字進行顯式申明的變量是做爲局部變量,而沒有用var關鍵字,使用直接賦值方式聲明的是全局變量。
當我們使用訪問一個沒有聲明的變量時,JS會報錯。而當我們給一個沒有聲明的變量賦值時,JS不會報錯,相反它會認爲我們是要隱式申明一個全局變量,這一點一定要注意。
a++是先執行表達式後再自增,執行表達式時使用的是a的原值。
++a是先自增再執行表達示,執行表達式時使用的是自增後的a。
2、 數組
1注意:數組每個值有一個索引號,從0開始。
我們還可以用簡單的方法創建上面的數組和賦值:
第一種方法:
var myarray = new Array(66,80,90,77,59);//創建數組同時賦值
第二種方法:
var myarray = [66,80,90,77,59];//直接輸入一個數組(稱 “字面量數組”)
3、循環語句
1、
Switch必須賦初始值,值與每個case值匹配。滿足執行該 case 後的所有語句,並用break語句來阻止運行下一個case。如所有case值都不匹配,執行default後的語句。 var myweek =13;//myweek表示星期幾變量 switch(myweek) { case 1: case 2: document.write("學習理念知識"); break; case 3: case 4: document.write("到企業實踐"); break; case 5: document.write("總結經驗"); break; default: document.write("週六、日休息和娛樂"); } |
2 assets/views/mvc/login_content.js
|
4、Onclick等事件
事件響應網頁交互,JavaScript 創建動態頁面。事件是可以被 JavaScript 偵測到的行爲。
網頁中的每個元素都可以產生某些可以觸發 JavaScript 函數或程序的事件。
3
4 5 onmouseover="message()" |
6
4.1編程練習
使用JS完成一個簡單的計算器功能。實現2個輸入框中輸入整數後,點擊第三個輸入框能給出2個整數的加減乘除。
<!DOCTYPE html> <html> <head> <title> 事件</title> <script type="text/javascript"> function count(){ //獲取第一個輸入框的值 //獲取第二個輸入框的值 //獲取選擇框的值 //獲取通過下拉框來選擇的值來改變加減乘除的運算法則 //設置結果輸入框的值 var a = document.getElementById("txt1").value; var b = document.getElementById("txt2").value; var sel = document.getElementById("select").value; var d =""; switch(sel){ case "+": d=parseInt(a)+parseInt(b); break; case "-": d = a-b; break; case "*": d = a*b; break; default: d = a/b; } document.getElementById("fruit").value = d; } </script> </head> <body> <input type='text' id='txt1' /> <select id='select'> <option value='+'>+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type='text' id='txt2' /> <input type='button' value=' = ' onclick="count()"/> <!--通過 = 按鈕來調用創建的函數,得到結果--> <input type='text' id='fruit' /> </body> </html> |
5、 js內置對象
5.1 JavaScript中的所有事物都是對象,如:字符串、數值、數組、函數等,每個對象帶有屬性和方法。
對象的屬性:反映該對象某些特定的性質的,如:字符串的長度、圖像的長寬等;
對象的方法:能夠在對象上執行的動作。例如,表單的“提交”(Submit),時間的“獲取”(getYear)等;
JavaScript 提供多個內建對象,比如 String、Date、Array 等等,使用對象前先定義,
對象和方法解釋:對象相當於一個人,屬性就是性別,胖瘦,身高,是必須通過該對象來獲取的【值】;
方法是這個人可以幹什麼,吃飯,看電視,逛街,會運動,跳舞等,是必須通過該對象才能執行的【行爲】。
5.2 Date 日期對象
定義一個時間對象 :
月份是0到11 需要注意
var Udate=new Date();
注意:使用關鍵字new,Date()的首字母必須大寫。
getDay() 返回星期
例子:1、顯示今天星期幾? 設置日期,顯示星期幾?比如2016年3月29 週二 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>獲得星期</title> <script type="text/javascript"> //var mydate=new Date(); var mydate=new Date(2016,2,29); var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; var mynum = mydate.getDay() document.write(":" + mynum+"<br>"); document.write("今天是:" + weekday[mynum]); document.write("今天是:" + weekday[mynum]); </script> </head> <body> </body> </html> |
5.3 String 字符串對象
var a= message.toUpperCase(); // 將字符串小寫字母變爲大寫
var a = message.toLowerCase(); //將字符串大寫字母變爲小寫
返回指定位置的字符 stringObject.charAt(index) 1. 字符串中第一個字符的下標是 0。最後一個字符的下標爲字符串長度減一(string.length-1)。一個空格也算一個字符。返回指定的字符串首次出現的位置stringObject.indexOf(substring, startpos)var str="I love JavaScriptv!v" document.write(str.indexOf("I") + "<br />"); document.write(str.indexOf("v") + "<br />"); document.write(str.indexOf("v",10)); 輸出 0 ,4 ,17 document.write(str.indexOf("v",10)); 輸出9
|
字符串分割split()
提取字符串substring()
substring 方法用於提取字符串中介於兩個指定下標之間的字符 substring(start,end) 開始和結束的位置,從零開始的索引 substr 方法用於返回一個從指定位置開始的指定長度的子字符串。 substr(start [, length ]) 如:
|
5.4 Math對象
向上取整ceil() Math.ceil(0.8) 輸出1
向下取整floor()
四捨五入round()
document.write(Math.round(2.5)+ "<br>");
document.write(Math.round(0.49)+ "<br>");
document.write(Math.round(-6.6)+ "<br>");
輸出3;0;-7
隨機數 random()
random() 方法可返回介於 0 ~ 1(大於或等於 0 但小於 1 )之間的一個隨機數。
使用random()隨機取得0-10之間的數值。使用round()對數值進行四捨五入。
var a ="";
a = Math.random()*10;
b = Math.round(a);
document.write(a+"<br>");
document.write(b);
5.5 數組
數組定義的方法:
1. 定義了一個空數組:
var 數組名= new Array();
2. 定義時指定有n個空元素的數組:
var 數組名 =new Array(n);
3.定義數組的時候,直接初始化數據:
var 數組名 = [<元素1>, <元素2>, <元素3>...];
我們定義myArray數組,並賦值,代碼如下:
var myArray = [2, 8, 6];
數組連接concat()
指定分隔符連接數組元素join()
var myarr = new Array(3);
myarr[0] = "I";
myarr[1] = "love";
myarr[2] ="JavaScript";
document.write(myarr.join("."));
顛倒數組元素順序reverse()
選定元素slice() 1.返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
一個數組,大小排序
function sortNum(a,b) {
return a-b;
}
var myarr = newArray("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
//升序,如降序,把“a - b”該成“b - a”
若返回值<=-1,則表示
A 在排序後的序列中出現在 B
之前。
若返回值>=1,則表示
A 在排序後的序列中出現在 B
之後。
= 不用管
題目:XXXX年XX月X日星期X--班級總分爲:81 ,平均分多少?
成績:"小明:87; 小花:81; 小紅:97; 小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"
<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>繫好安全帶,準備啓航</title>
<script type="text/javascript"> //通過javascript的日期對象來得到當前的日期,並輸出。 var date = new Date(); var a = date.getDay(); var week = ["星期天 ","星期一","星期二","星期三","星期四","星期五","星期六"]; document.write(date.getFullYear()+"年"); document.write((date.getMonth()+1)+"月"); document.write(date.getDate()+"日 "); document.write(week[a]+"<br> ");
//成績是一長竄的字符串不好處理,找規律後分割放到數組裏更好操作哦 var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var b = scoreStr.split(";") var sum = 0; for(var i=0;i<b.length;i++) { sum = sum + parseInt(b[i].slice(3)); } var avg = sum /b.length; //從數組中將成績撮出來,然後求和取整,並輸出。 document.write("--班級的總分爲:"+sum+"<br>"); document.write("--班級的平均分:"+avg+"<br>");
</script> </head> <body> </body> </html> |
6、標題1
7、標題1