標示符:區分大小寫,能夠是_ $ 或字母開始不能是數字,中文命名變量也合法。javascript
保留字:void break delete function return do case if switch var catch else in this continue false instanceof throw while debugger finally new true const default for null try 等java
變量:經過var來定義,沒有則是全局變量和lua的local相似數組
註釋:標準C語言的註釋方法 /**/ or // 函數
數據類型:包括數值,字符串,對象類型,數組類型,布爾類型等等this
數值類型:包括十進制 八進制等,和C語言差很少。浮點數必須包含一個小數點或者一個E或elua
布爾類型:false truedebug
字符串:「123」 or ‘123’code
對象類型:new 來建立一個對象對象
數組類型:Array是一個數組對象,var arr=new Array(10) arr數組大小爲10。因爲是弱類型的腳本語言,數組也支持混合類型如ip
var arr= new Array(10); arr[0]="123"; arr[1]=12;
字面常量:
12 整數, 1.2 浮點數, 「hello」 字符串, true 布爾,{x:50,y:100} 對象,null 空對象(不存在任何對象),[1,2,3]數組對象
類型轉換:
轉換爲字符串:toString函數。
轉換爲數字:parseFloat parseInt(arg,to)//to表示目標進制 等函數 注:會自動剔除非法字符而後返回
console.log(parseInt("123ab2",10));//輸出10進制123 console.log(parseInt("0xB",10));//輸出11,parseFloat不能用16進制轉換
可用全局函數isNan(ARG)來檢測是不是Nan
強制轉換:
console.log(Boolean(0.0));// 每種數據類型的false 否轉換爲false 如整數的0,浮點的0.0, //字符串的"" , 對象的null 等,其他都爲true
console.log(Number("1211yey"));//返回Nan,非法數據都會直接返回Nan而不是返回有效部分 //(字符串「0xa」 之類的有效)
運算符規則和Java相似,不過有特殊地方,因爲是弱類型語言,
var int =5.5;int %=2; // int爲1.5 var int =5.0;int %=2; // int爲1 //除法同理 //能是整數,則優先爲整數好比2.5*2 爲5 而不是5.0
關係運算符:大多數和java c同樣,須要特殊說明的是
== :等於(不包含類型) 如5==5.0 爲true , 5==「5」 也爲true ===: 等於(包含類型) 如5===5.0 爲true,5===「5」 爲false 由於類型不能 != !== 同理
位運算和java C同樣 反碼補碼等。浮點數會去掉小數部分而後運算,
var x=-1; var y=0xff; console .log( x&y); 輸出255//0xff & 11111111( 10000001 取反+1) //0xff &0xff = 0xff
位運算只支持32爲整數,Number內部是64位浮點數,不管是整數仍是小數都要要注意偏差問題
var x=0xffffffff;//32位 console.log((x>>>1)); // 無符號右移,證實32位 var x=0xffffffffffff; // 48位 console.log((x>>>1));//無符號右移,證實32位
var y=0xfffffffffffff;//7字節 console .log( y-1); console .log( y); console .log( y+1); //結果正常
instanceof 運算符:返回Boolean
var arr = new Array(10); var ty= arr instanceof Array; //arr 是不是Array 的對象 console.log( ty);
typeof運算符:返回字符串
var arr = new Array(10); console.log( typeof (typeof arr));//輸出string console.log(typeof arr);//輸出object
控制循環語句:if,switch,for,while,do while 和java c同樣。
//for in遍歷集合和對象(和lua的pairs ipairs相似) var arr= [2,1,2,3,4,5,6,7,8,9]; for( var i=0 ; i<arr.length;i++) { console.log( arr[ i]); } for( var i in arr) { console.log( arr[ i]);//i爲index }
函數:三種方式定義函數 調用 func(5)
function func(ARG)//局部函數 { console.log(ARG); } var func= function (ARG) {//局部函數 console.log(ARG); } func= function (ARG) { //全局函數 console.log(ARG); }