前言: //整型,在内存中占有4个字节 //二进制 var num01=10; console.log(num01);//输出为2 //八进制,以0开头 var num02=012; console.log(num02);//输出为10 //十进制 var num03=13; console.log(num03);//输出为13 //十六进制,以0x开头,a~f代表10-15,不区分大小写 var num04=0x10; console.log(num04);//输出为16 var num05=0xff; console.log(num05);//输出为255 ff=15*16+15 //无论变量是几进制的数字,打印的结果最终都是十进制 2)浮点型—parseFloat() //浮点型,在内存中占8个字节 //定点小数 var f=3.14;//普通小数 //指数型 var f1=3.14e3;// e3代表10的三次方 3.14*10的三次方,输出为3140 var f2=3.14e-1;//e-1代表10的负一次方 3.14*10的负一次方,输出为-0.314 console.log(f1,f2); //检测数据类型,typeof xx=类型是XX console.log(typeof f2);//数据类型为number (2)字符串型-string //字符串型 '一'.charCodeAt(); //unicode码为19968 "oksana".charCodeAt(); //unicode码为111 "o".charCodeAt(); //unicode码为111 "k".charCodeAt(); //unicode码为107 '你好'.charCodeAt(); //unicode码为20320 '你'.charCodeAt(); //unicode码为20320 '好'.charCodeAt(); //unicode码为22909 //由此可证明,多个字符只能查询第一个字符的unicode码 //被单引号或是双引号包裹的就是字符串,这种类型统称为字符串型数据 (3)布尔型-boolean //布尔型 var b2=3>1; console.log(b2,typeof b2);//输出结果为true,类型为boolean (4)未定义型-undefined //未定义型-undefined var a;//声明变量,未赋值 console.log(typeof(a))//查询数据类型为undefined (5)空-null //空 var b=null; console.log(b,typeof b); 6.数据类型转换——datatype transform 2+'3'; //'23' 2+'hi'; //"2hi" 2+'你好'; //"2你好" 2)数字+布尔型——布尔型转成数字,true——>1,false——>0 3+true //4 3+false //3 3)布尔型+字符串——true转字符串变成拼接 var a=true+"oksana"; console.log(a); //输出trueoksana var b=false+"oksana"; console.log(b); //输出falseoksana 4)JS中(+)加号运算的作用 //执行加法运算 var num1=3,num2=true,num3='oksana',num4=6; console.log(num1+ num4); //9 console.log(num1+ num4+ num2); //10 //执行字符串间的拼接 console.log(num1+ num2+ num3); //4oksana console.log(num2+ num3+ num1); //trueoksana3 console.log(num3+ num1+ num2); //oksana3true //声明变量保存一个人的姓名性别,打印‘我的姓名叫(变量),性别(变量) var uname='oksana',sex='女'; console.log('我的姓名叫'+uname+',性别是'+sex);//我的姓名叫oksana,性别是女 5)JS中减法(-),乘法(*),除法(/)运算会发生隐式转换 //其他运算符转换,减法、乘法、除法中无论两端的数据是什么类型,都会转换成数字类型 console.log(5-3); //2 console.log(5*3); //15 console.log(5/3); //1.6666666666666667 console.log(5-'3'); //2,'3'转化为数字3 console.log(5*'3'); //15 console.log(5/'3'); //1.6666666666666667 console.log('5'-'3'); //2,'3','5'转换为数字3,5 console.log('5'*'3'); //15 console.log('5' / '3'); //1.6666666666666667 console.log('3'-true);//2,true转换为1 console.log('3'*true);//3 console.log('3'/true);//3 console.log('3'-false);//3,false转换为0 console.log('3'*false);//0 console.log('3'/false);//Infinity console.log('3'-null);//3,null转换为0 console.log('3'*null);//0 console.log('3'/null);//Infinity console.log('2a'-5);//NaN,2a转换后不是一个数字,转换失败 console.log('2a'/5);//NaN console.log('2a'*5);//NaN ——> Not a Number,不是一个数字,而NaN和任何一个数加减乘除都是NaN (2)强制转换 //强制转为数字型 var num1=Number('2'); var num2=Number(true); var num3=Number('2a'); var num4=Number(undefined); var num5=Number(null); console.log(num1,typeof num1);//2 console.log(num2,typeof num2);//1 console.log(num3,typeof num3);//NaN console.log(num4,typeof num4);//NaN console.log(num5,typeof num5);//0 2)强制转化为整型 —— parseInt() //转为整型 var n1=parseInt('1'); var n2=parseInt(1.2); var n3=parseInt('2a'); var n4=parseInt('a2'); var n5=parseInt(undefined); var n6=parseInt(null); var n7=parseInt(true);//未定义、空、布尔型,返回NaN console.log(n1,typeof n1);//1 "number" console.log(n2,typeof n2);//1 "number" console.log(n3,typeof n3);//2 "number" console.log(n4,typeof n4);//NaN "number" console.log(n5,typeof n5);//NaN "number" console.log(n6,typeof n6);//NaN "number" console.log(n7,typeof n7);//NaN "number" 3)强制转化为浮点型 —— parseFloat() //强制转化为浮点型 var n1=parseFloat('1'); var n2=parseFloat(1.2); var n3=parseFloat('2.5a'); var n4=parseFloat('a2.5'); var n5=parseFloat(undefined); var n6=parseFloat(null); var n7=parseFloat(true); console.log(n1,typeof n1);//1 "number" console.log(n2,typeof n2);//1.2 "number" console.log(n3,typeof n3);//2.5 "number" console.log(n4,typeof n4);//NaN "number" console.log(n5,typeof n5);//NaN "number" console.log(n6,typeof n6);//NaN "number" console.log(n7,typeof n7);//NaN "number" 4)强制将数值型和布尔型转为字符串型 —— toString() //将数值,布尔型转为字符串和 var num=10,boo=true; var str=num.toString(); var str1=boo.toString(); console.log(num,str,typeof str);//10 "10" "string" console.log(boo,str1,typeof str1);//true "true" "string" |
|