码迷,mamicode.com
首页 > 编程语言 > 详细

javascript数据类型-及运算符

时间:2017-09-17 20:11:26      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:object类   --   技术分享   san   amp   字符串   条件   隐式转换   杂类   

一、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:先自加再赋值

--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数据类型-及运算符

标签:object类   --   技术分享   san   amp   字符串   条件   隐式转换   杂类   

原文地址:http://www.cnblogs.com/elet/p/7536693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!