javaScript中的語法
1.變數
1.1識別符號
(1)大小寫字母,數字,下劃線和美元符號($)組成,
(2)不能以數字開頭
(3)嚴格區分大小寫
(4) 不能使用Javascript中的關鍵字,命名
(5)儘量做到“見其名知其一”
1.2保留關鍵字
1.3變數的使用
var sales; var hits; var root_101,room102; var $name,$age;
利用var宣告,但未賦初始值的變數,預設值會被設定為undefined 其中行末的分號表示語句結束變數與變數之間的運算子是Javascript中的逗號(.)操作符 實現一天語句可同時完成多個變數的生成。
1.4變數的賦值
varunit,room; unit=3; room=1001; var fname='Tom',age=12;
在宣告變數後可以為變數賦值,也可以在宣告變數的同時為變數賦值
flag=false; a=1,b=2;
也可以省略宣告變數的var關鍵字 直接為變數賦值 但是不推薦使用 因為會出現不可預料的錯誤
1.布林型
var flag1=true; var flag2=false;
通常用於邏輯判斷 他只有true和false兩個值
2、數值型
var oct=032; var dec=26; var hex=0xla; var funm1=7.26; var funm2=-6.24;var funm3=3.14E6; var fume4=8.96E-3;
上述程式碼定義的oct和hex變數,分別是八進位制和十六進位制形式表示的26;變數fnum1,fnum2,fnum3和fnum4則是利用標準格式和科學計數方式表示的小數。只要給定的值不超過Javascript中允許數值指定的範圍即可;
3.字元型
var slogan='Koowldge';//單引號 存放一個單詞 var str='the sky is blue'//雙引號 存放一個句子 var color='"red"blue';//單引號中包含雙引號 var food="'pizza'bread";//雙引號中包含單引號 varunm='',total="";//定義空字串
如果要在單引號中使用單引號 或在雙引號中使用雙引號 則需要使用轉義字元“/”
4.空型
空型只有一個特殊的null值 用於表示一個不存在的或無效的物件或地址 且由於Javascript中的大小寫敏感 因此變數的值只有是小寫的null時才表示空型(Null)
5.未定義型
未定義型也只有一個特殊的undefined值 用於宣告的變數還未被初始化時,變數的預設值為undefined 與null不同的是 undefined表示沒有為變數設定值 null則表示不存在或無效
1.5 資料型別的檢測
var num1=12,num2='34',sum=0; sum=num1+num2; console.log(sum);
從上述輸出列表中可以看出此處相加運算沒有按照預想的進行相加,卻是將兩個值進行拼接
原因是未參與運算的資料型別檢測 若檢測後都是數值型變數 才能夠進行相加運算
1.5.1typeof操作符
typeof操作符以字串形式 返回未經計算的運算元的型別。下面在控制檯輸出
console.log(typeof num1); console.log(typeof num2); console.log(typeof sum);
變數num1與num2在進行“+”運算時 進行的是字串的拼接 最後的輸出結果也是字元型資料。通過typeof num2==‘number’即可判斷num2是否為數值型 利用typeof檢測null的型別是返回的是object不是null
1.5.2物件原型的擴充套件函式
因為js一切皆為物件 可以使用這個函式進行更精確的區分資料型別
var data=null; var type='Null'; Object.prototype.toString.call(data)=='[object'+type+']';
只要修改data和type變數的值 就可以利用物件原型的擴充套件函式完場資料型別的檢測
4.資料型別的轉換
4.1轉布林型
var con=prompt(); if (Boolean(con)){ document.write('已輸入內容') }else { document.write('無輸入內容') } console.log(Boolean(con)); console.log(Boolean(con)); console.log(Boolean(con));
使用者輸入的內容進行布林值型別轉換,當用戶單擊“取消按鈕”或使用者未輸入任何字元就單擊“確認”按鈕時 會被轉為false當有內容輸入時就轉換為true
4.2轉數值型
var num1=prompt('請輸入第一個資料'); var num2=prompt('輸入第2個數據'); console.log(num1+num2); console.log(parseInt(num1)+parseInt(num2));
只有對參與運算的資料進行數值型轉換才能實現自動求和 否則會將其當作字串進行拼接
4.3轉字元型
var num1=num2=num3=4,num4=26; console.log(String(12)); console.log(num1+num2+num3.toString()); console.log(num4.toString(2));
首先計算num1+num2的結果為8.然後與num3轉成的字串‘4’進行拼接 得到資料84
5.表示式
var x,y,z; x=1; y=2+3; z=y=x; console.log(z); console.log(x+y);
包括一個單獨的變數“z“和含有yunsuaf的”x+y“等都可以將其理解為表示式
6.運算子
6.1算術運算子
6.2字串運算子
var color='blue'; var str='The sky is'+color; var tel=110+'120'; console.log(str); console.log(tel); console.log(typeof str,typeof tel);
6.3 賦值運算子