JavaScript基礎
1JavaScript簡介
1.1JavaScript的誕生
JavaScript誕生於1995年。由Netscape(網景公司)的程序員Brendan Eich(布蘭登)與Sun公司聯手開發一門腳本語言, 最初名字叫做Mocha,1995年9月改爲LiveScript。12月,Netscape公司與Sun公司(Java語言的發明者)達成協議,後者允許將這種語言叫做JavaScript。這樣一來,Netscape公司可以藉助Java語言的聲勢。
1996年3月, Netscape公司的瀏覽器Navigator2.0瀏覽器正式內置了JavaScript腳本語言. 此後其他主流瀏覽器逐漸開始支持JavaScript。
1.2JavaScript版本
· 1997年7月,ECMAScript 1.0發佈。
· 1998年6月,ECMAScript 2.0版發佈。
· 1999年12月,ECMAScript 3.0版發佈。
· 2007年10月,ECMAScript 4.0版草案想要提交ECMA組織, 但由於4.0版的目標過於激進, 改動太大, 並且微軟,谷歌等大公司極力反對;一直到2008年7月ECMA開會決定,中止ECMAScript 4.0的開發(即廢除了這個版本)
· 2009年12月,ECMAScript 5.0版正式發佈
· 2011年6月,ECMAScript 5.1版發佈
· 2015年6月,ECMAScript 6正式發佈,並且更名爲“ECMAScript 2015”。
1.3JavaScript組成
ECMAScript、Bom、Dom三部分組成。
2JavaScript基本語法
2.1 <script>標籤
1.script標籤可以寫在html文檔中任意位置,一般寫在head中或body末尾;
2.<script src=””></script> 中的src屬性爲外鏈,當script標籤中有src屬性時,標籤內不能寫代碼,會被直接忽略;
3.屬性 type=”text/javascript”。
2.2 var變量
2.2.1變量的定義
變量的定義:儲存數據的容器。如一杯水,數據是水,變量爲水杯。
聲明格式 var 變量名 var myScore = 100; 其中,var爲關鍵字,myScore爲變量,100爲數據,=爲賦值符號。
2.2.2變量的命名規範
1.變量名必須由數字、字母、下劃線_和美元符$組成;
2.第一個字符不能爲數字;
3.不能使用關鍵字或保留字;
4.變量命名最好做到見名知意;
5.命名區分大小寫,但建議使用這個小功能;
6.使用駝峯命名原則,myStudentScore,多個單詞組成,從第二個單詞開始首字母大寫。
JavaScript書寫規範:
1保持縮進;
2.每一句結尾用分號。
2.3數據類型
2.3.1基本數據類型
2.3.1.1 Number:數字
1 toFixed(num): 在數字後面調用,num爲小數位,有四捨五入的功能,得到一個字符串。
2 parseInt(num)取整數,非四捨五入。
3 parseFloat()取小數點後一位。
2.3.1.2 String字符串
用引號(單/雙引號)括起來的內容。 var myName = ‘laoxie’;
2.3.1.3 Boolean布爾值
有且只有兩個值,true / false。
2.3.2引用數據類型
2.3.2.1 Array:數組
2.3.2.2 Object:對象
2.3.3特殊數據類型
2.3.3.1 NaN
Not a Number,數學運算並無法得到數字時,會返回NaN,是一個特殊的值。
2.3.3.2 Null 空值
Null有且只有一個值,即特殊值null。表示一個空對象引用,用typeof操作符檢測Null會返回Object。
2.3.3.3 Undefined
Undefined有且只有一個值,即undefined,當變量只聲明不賦值時,默認得到undefined。
2.3.4 數據類型判斷
typeof ,例如 typeof ‘啦啦’=>string。可以用alert(typeof(number));在瀏覽器中彈窗顯示數據類型。
2.3.5數據類型的轉換
值(a) |
轉換爲 |
|
|
|
|
|
字符串String(a) |
數字Number(a) |
布爾值Boolean(a) |
undefined |
=> |
‘undefined’ |
NaN |
false |
null |
=> |
‘null’ |
0 |
false |
true |
=> |
‘true’ |
1 |
|
false |
=> |
‘false’ |
0 |
|
”“ |
=> |
|
0 |
false |
“1.2” |
=> |
|
1.2 |
true |
“one” |
=> |
|
NaN |
true |
0 |
=> |
“0” |
|
false |
-0 |
=> |
“0” |
|
false |
NaN |
=> |
“NaN” |
|
false |
Infinity |
=> |
“Infinity” |
|
true |
-Infinity |
=> |
“-Infinity” |
|
true |
1 |
=> |
“1” |
|
true |
var result = String(parseInt(num1%5)); 可直接將運算結果轉換爲字符串,在alert中可以直接用+來字符串拼接,而非將若干數據相加。
2.4運算
2.4.1算術運算
+加 、-減、*乘、/除、%取模(取餘)
var num1 = 20;
var num2 = 10;
var result = num1 + num2;
alert(‘運算結果爲:’ + result);
var result5 = num1 %5;
alert(‘運算結果爲:’ + result5);
2.4.2 +字符串拼接
在兩個或以上的數據用‘+’時,若其中一個爲數字字符串,那麼系統會進行字符串拼接,其他的算術運算不會出現這種問題。
2.4.3 賦值操作
‘=’爲賦值符號,‘==’爲等號,‘===’爲恆等於。
var num = 10 ;
var num = num + 5; / num += 5 ;
2.4.4 關係運算(返回布爾值)
==(等於), !=(不等於)
<(小於)、>(大於)、<=(小於等於)、>=(大於等於)
===、恆等於/全等於,比較的時候要求值和類型都相等(不會進行類型隱式轉換)
!==、不全等於
關係運算符的比較規則:
1. 數字和數字比較,直接比較大小;
2. 數字和字符串比較, 字符串轉換爲數字後再比較;
3. 字符串和字符串比較, 進行字符的ASCII碼值比較;
2.4.5邏輯運算
邏輯且、與
|| 邏輯或
!邏輯非
if( (year % 4 === 0 && year %100 !== 0) || (year % 400 === 0) ){
alert(閏年);
}else{
alert(平年);
}
2.5 輸出
2.5.1 alert()
爲瀏覽器彈窗輸出
2.5.2 document.write()
將結果輸出到body中
2.5.3 console.log()
在控制檯顯示輸出結果
3 案例與作業分析
3.1 在input中輸入數字進行運算
1.獲取html中輸入的值
分兩步:1.通過var num = document.getElementById(id名); 將input賦予給變量num;2.在function jisuan(){
var _num = num.value;
}
實現點擊後再獲取到input中輸入的值(非標籤)。
2.實現點擊按鈕再實現計算功能
通過function jisuan(){} 與 <button οnclick=”jisuan()”></button>,來實現點擊按鈕獲取到輸入的數據後,再進行計算。
說明:
需要注意的是,var _num = num.value; 一定要在function中,如果在function上面,則無法獲取到輸入到input的數據。
3.2猜數字遊戲
Math.random() 會生成0-1中的隨機數,不包括1;
通過 var number = parseInt( Math.random() * 100 + 1); 可以隨機生成1-100隨機數,包括1和100。