javascript數據類型-及運算符
一、js中的數據類型
1.五種簡單的
字符串(String)
加引號,引起來的都是字符串(單雙引號都可以)
數字(Number)
整數、小數、負數
布爾(Boolean)
true ==>真(對)
false==>假(錯)
Undefined(未定義)
一個變量沒有賦值就是undefined
Null(空)
2.1種復雜(對象)
****一種特殊的Object類型
Object
***********typeof 檢測類型的
typeof返回的結果是字符串
例如:typeof(str) | typeof str
// 字符串類型 /* var str = ‘lisi‘; alert( typeof(str) ); alert(typeof str); //數字類型 var num = -3.1415926; alert(typeof num);View Code*/ /* //布爾類型 var bool = false; alert(typeof bool); //boolean */ /* //未定義 var unde; alert( typeof unde ); //undefined */ /* //空null var nl = null; alert(typeof nl); */ //復雜類型 : Object var arr = []; alert(typeof arr); // "object"
二、js中的數據類型轉換
1.把字符串轉換為數字類型
a>Number()
b>parseInt()
c>parseFloat()
//把字符串轉換為 ---》【數字類型】 var str = "我是字符串"; //字符串 var num = Number( str ); alert(num); //NaN alert(typeof num); /* //parseInt() var str = "我是字符串"; var num = parseInt(str); alert(typeof num); // "number" alert(num); */ /* parseFloat() var str = "我是字符串"; var num = parseFloat(str); alert(typeof num); // "number" alert(num);View Code*/
****************補充**************
NaN:屬性是代表非數字值的特殊值。該屬性用於指示某個值不是數字。可以把 Number 對象設置為該值,來指示其不是數字值
2.把字符串轉換為布爾類型
a>Boolean
var str = "-1"; // "string" var bool = Boolean(str); alert(typeof bool); // "boolean" alert(bool); // true //只要不是空的就是true (非空即是true)View Code
3.把數字類型轉換為其他類型
1.把數字類型轉換為字符串類型
String()
toString()
//把數字類型轉換為字符串類型 var num = 10; var str = String(num); //"string" alert(typeof str); var num = 10; var str = num.toString(); //"string" alert(typeof str);View Code
2.把數字類型轉換為布爾類型
Boolean()
***非0結果為:true ,如果0結果為:false
//把數字類型轉換為布爾類型 var num = 0; var bool = Boolean(num); alert(typeof bool); //"boolean" alert(bool);View Code
4.把布爾類型轉換為其他類型
1.把布爾類型轉換為數字類型
Number()
parseInt()
paeseFloat()
如果是true ===>返回:1
如果是false ===>返回 : 0
/* var bool = true; var num = Number(bool); alert(typeof num); alert(num); */ var bool = false; var num = Number(bool); alert(typeof num); alert(num);View Code
2.把布爾類型轉換為字符串類型
String()
toString()
var bool = false; var str = String(bool); alert(typeof str); alert(str); // "true" "false"View Code
三、js中的運算符:操作數據值
運算符包括:一元運算符(一目運算符),布爾運算符,算術運算符,三元運算符,賦值運算符,位運算符.....
1.算術運算符
+
如果是字符串類型和數字類型相加,最後返回的結果是連接操作,數字類型會隱式轉換為字符串類型
-
如果是字符串類型和數字類型相減,最後返回的結果是正常減法,字符串類型會隱式轉換為數字類型
*
如果是字符串類型和數字類型相乘,最後返回的結果是正常乘,字符串類型會隱式轉換為數字類型
/
如果是字符串類型和數字類型相除,最後返回的結果是正常除,字符串類型會隱式轉換為數字類型
%
如果是字符串類型和數字類型求模,最後返回的結果是正常求模,字符串類型會隱式轉換為數字類型
var num = 10; //數字類型 var str = "20"; //字符串類型 var cont = num+str; // 這裏做了一個隱式的轉換,把num轉換為了string console.log(cont); // 這裏的加號就是連接了 1020 console.log(typeof cont); //最後返回的結果是string var num1 = 30; //數字類型 var str1 = "20"; //字符串類型 var count = num1-str1; //這裏的str1原來是字符串類型, 在這裏呢隱式轉換為了number console.log(count); //10 console.log(typeof count); //numberView Code
2.js中的賦值運算符
=
+= : x+=y ====> x=x+y
-= : x-=y ====> x=x-y
*= : x*=y ====> x=x*y
/= : x/=y ====> x=x/y
%= : x%=y ====> x=x%y
//計算是遵循算數運算符的規則 var num1 = 1; var num2 = 2; num1+=num2; // num1 = num1+num2 num1 = 1+2 alert(num1); // 3 /* var num3 = 3; var num4 = 4; num3-=num4 ; // num3 = 3-4 alert(num3); //-1 */ /* var num7 = 7; //alert(typeof num7); // "number" var str8 = "8"; num7+=str8; // num7 = 7+"8" alert(num7); //78 */ var num9 = 9; var str1 = "1"; num9-=str1; // num9 = 9-"1" alert(num9); //8View Code
3.js中的比較運算符
== :只比較值
===:比較值還比較類型
!= :非等(不等於)
>
<
>=
<=
比較運算符返回結果:布爾值(false,true)
/* var num1 = 3; var num2 = 4; document.write( num1 == num2 ); //false */ /* var num1 = 3; //數字類型 var num2 = "3"; //字符串類型 document.write( num1 == num2 ); //true */ /* var num1 = 3; //數字類型 var num2 = "3"; //字符串類型 document.write( num1 === num2 ); //false */ var num1 = 6; var num2 = 5; document.write( num1!=num2 ); // num1不等於num2 trueView Code
4.js中的一元運算符(一目運算符)
i++:先賦值,再自加1
i-- :先賦值,再自減1
++i:先自加1 ,再賦值
--i : 先自減1,再賦值
var num1 = 3; var num2 = 4; num1=num2++; // 1>把num2的值賦值給num1 ===>num1 = num2 // 2>num2自加1 ===>num2+1 document.write( num1+"======>"+num2); // num1=4 num2=5 var num1 = 3; var num2 = 4; num1 = num2--; //1>num1=num2 //2>num2-1 alert( num1 +"====>" +num2); // num1=4 num2 =3 /* var num1 = 5; var num2 = 8; num1=++num2; //1> num2+1 //2> num2賦值給num1 alert( num1 +"===>"+ num2); // 9,9 */ var num6 = 12; var num7 = 20; //num6=--num7; //1>num7-1 //2>num7賦值給num6; num6=num7--; //1>num7賦值給num6 //2>num7-1 alert( num6 +"===>"+num7 ); //19,19 //如果是--i這種情況結果是19,19 , 如果是i--這種情況結果是 20,19View Code
5.JS中的二元運算符(二目運算符)[邏輯運算符]
&&(與):
格式:
表達式1 &&表達式2....
1>表達式1和表達式2有一個為false,整體的結果為false
||(或):
格式:
表達式1 || 表達式2
1>表達式1和表達式2有一個為true,整體的結果為true
!(非) : 取反
/* var a = 10; var b = 20; var c = 30; alert( a>b && b>c ); // 10 > 20 && 20 > 30 //false */ /* var a = 10; var b = 20; var c = 30; alert( a<b && b<c ); // 10 < 20 && 20 > 30 //true */ var a = 10; var b = 20; var c = 30; alert( a>b || b<c ); // 10<20 || 20>30 //表達式1為true 表達式2為false 整體結果為true //表達式1為false 表達式2為true 整體結果為trueView Code
5.JS中的三元運算符(三目運算符)
格式:
條件?執行結果1(true):執行結果2(false)
var a = 10; var b = 20; // a<b?alert("對"):alert("錯"); //對 a>b?alert("對"):alert("錯"); //錯View Code
javascript數據類型-及運算符