标签: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"
二、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); */
****************补充**************
NaN:属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值
2.把字符串转换为布尔类型
a>Boolean
var str = "-1"; // "string" var bool = Boolean(str); alert(typeof bool); // "boolean" alert(bool); // true //只要不是空的就是true (非空即是true)
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);
2.把数字类型转换为布尔类型
Boolean()
***非0结果为:true ,如果0结果为:false
//把数字类型转换为布尔类型 var num = 0; var bool = Boolean(num); alert(typeof bool); //"boolean" alert(bool);
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);
2.把布尔类型转换为字符串类型
String()
toString()
var bool = false; var str = String(bool); alert(typeof str); alert(str); // "true" "false"
三、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
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
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
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
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
5.JS中的三元运算符(三目运算符)
格式:
条件?执行结果1(true):执行结果2(false)
var a = 10; var b = 20; // a<b?alert("对"):alert("错"); //对 a>b?alert("对"):alert("错"); //错
标签:object类 -- 技术分享 san amp 字符串 条件 隐式转换 杂类
原文地址:http://www.cnblogs.com/elet/p/7536693.html