1. 程式人生 > >javascript數據類型-及運算符

javascript數據類型-及運算符

color 格式 ide 小數 lib lin 沒有 -a img

一、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);

*/ /* //布爾類型 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"
View Code

二、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);  //number
View 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);   //8
View 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 true
View 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,19
View 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    整體結果為true
View Code

5.JS中的三元運算符(三目運算符)

格式:

條件?執行結果1true:執行結果2false

技術分享
var a = 10;
var b = 20;

// a<b?alert("對"):alert("錯"); //對
a>b?alert("對"):alert("錯"); //
View Code

技術分享

javascript數據類型-及運算符