Javascript學習第一篇 js基礎
1 , javascript字元集:
javascript採用的是Unicode字元集編碼。
為什麼要採用這個編碼呢?
原因很簡單,16位的Unicode編碼可以表示地球人的任何書面語言。這是語言 國際化的一個重要特徵。(大家也許見過用中文寫指令碼,比如:function 我的函數() {} );
Javascript中每個字元都是用2個位元組表示的。(因為是16位編碼)
2 ,大小寫敏感:
js是一種區分大小寫語言。
注意下:以前我也犯過的錯誤。
HTML是不區分大小寫。經常看見有人這麼寫,
<input type=”button” onClick=”a()” /> (這樣寫是對的)
如果放到JS中,就必須使用onclick(小寫哦!)
同時XHTML中也只能使用小寫。
這個我們並不需要太關心,象這種問題,其實都可以自己給自己定一個標準,自己寫程式的時候全部小寫。
另外每行程式後 分號 也是一樣,我們都寫上。
3 ,注釋:
單行:
// 注釋1
/* 注釋2 */
多行:
/* 注釋3
* 注釋3
* 注釋3
*/
4 ,標識符:
標識符就是一個名字,用來命名變數和函數。
規則:第一個字母必須是字母,底線(_),或美圓符號($)。
為什麼第一個字母不能為數字?
如果第一個為數字,js很容易就把它當作數文書處理了,那麼命名就沒意義了,js規定了後,就很容易的區分了標識符和數字了。
5 ,直接量:
就是程式中直接顯示出來的資料值。
比如:12 , 1.2 , “ hello “ , true , null , [1,2,3,4]
這些都是直接量。
6 ,保留字和關鍵字:
具體是哪些,可以去google.cn。
其實我們只要不取一些特鬱悶的名字,都不會衝突的。
7 ,js資料類型:
3種基本的類型;數字,字串和布爾值。
2種小資料類型:null 和 undefined . (為什麼叫小資料類型?因為他們只定義了一個值)
1種複合類型:object. (在這個類型中,它的值可以是基礎資料型別 (Elementary Data Type),也可以是複合類型,比如其他的object. )
注意:在對象中有一個特殊的對象----function.(它是一個可以執行代碼的對象.)
其他的一些對象:
數組:
Date類 : 是日期的對象。
RegExp類: Regex的對象。
Error 類:js中發生錯誤的對象。
8 ,使用資料類型注意的地方:
1):數字:
由於數字有什麼8進位,10進位,16進位等。。。
八進位:var num = 011; //以"0"開頭
十六進位:var num =0x1f; //以"0x"開頭
所以對於js這個都能識別的語言來說,就必須得注意。
alert(377); // 377
alert(0377); //255 = 3 * 64 + 7 * 8 + 7 * 1
進行算術運算有個重要的對象:Math.
具體可以去網上下載手冊,查詢裡面的方法。
2個有用的函數:isNaN()和isFinite()
isNaN() : 用於檢查其參數是否是非數字值。// 提示:是非數字哦。(not a number)
document.write(isNaN(0) ) //返回false
document.write(isNaN(5-2) ) //返回false
document.write(isNaN ("Hello") ) //返回true
isFinite(number) 函數用於檢查其參數是否是無窮大。
如果number是有限的,則返回true. 如果 number 是 NaN(非數字)或者是無窮大,則返回false;
2):字元:
‘you're right';
這樣寫的話js會誤以為 在you字母后就結束了,引起錯誤。
所以當遇到這種情況的時候,必須用到轉義。
我們可以這麼寫:
‘you\'re right';
另外:你可以 google.com搜尋 逸出序列表 。
字串的簡單操作例子:
var a = "cssrain";
var b = a.charAt(a.length-1); // 從字串a中截取最後一個字元。 輸出:n
var c = a.substring(0 , 2); // 從字串a中截取第1,2個字元。 輸出:cs
var d = a.indexOf('s'); // 從字串a中尋找第一個s出現的位置。 輸出:1
從例子可以看出,基數都是從0開始的。
var e = a.substring( a.length-1 ); //可以看出,substring第2個參數不寫的話,
//預設 是到最後。
var f = a.substring( a.length-1 , a.length);//等價於
3):數字跟字元之間的轉換:
數字轉字元:
var number_to_string = number + “ ”; //方法1:添加一個空的字串。
var number_to_string =String(number); //方法2:使用String()函數。
var number_to_string =number. toString(); //方法3:使用toString()函數。
註:toString()方法預設是以10進位轉換。
如果要使用8進位轉換可以 這麼寫: number. toString(8);
字元轉數字:
var string_to_number = string – 0 ; //方法1: 字串減去0。
var string_to_number = Number(string) ; //方法2:使用Number ()函數。
var string_to_number = parseInt(string) ; //方法3:使用parseInt ()函數。
方法1中不能 用string+0 ; 這樣會導致字串拼接,而不是類型轉換。
方法2 中的Number函數轉換,比較嚴格。
比如:
var a = "19cssrain86";
var b = Number(a); //輸出NaN.
如果我們使用方法3。
var c = parseInt(a); //輸出 19
可以看出parseInt()會自動忽略非數位部分。
parseInt()只取整數部分,忽略小數部分。
parseFloat()會把小數部分也取到。
和toString()一樣,parseInt也有進位,預設是10進位。
如果想使用8進位,可以這麼寫: parseInt( “077” , 8 ); // 輸出63 = 7 * 8 + 7
當字元以0開頭的時候,我們必須把 第二個參數 指明,不然js可能會以8進位去轉換。
4):布爾類型:
布爾在數字環境中:true 轉換為 1 ,false 轉換為 0 。
在字元環境中:true 轉換為 “true” ,false 轉換為 “false” 。
布爾轉換:
var x_to_Boolean = Boolean(x); //方法1:使用Boolean ()函數。
var x_to_Boolean = !x; //方法2:使用 驚嘆號。