一.typeof操作符
两种写法:
- (1)typeof()
括号 最好用法 - (2)typeof object
中间加一个空格
typeof 返回的数据类型
- number
- string
- boolean
- object
- undefined
- function
typeof 返回的值是一个string
1.number (数字)
NaN 不等于任何东西
var object=11;
typeof(object)
//结果 number
var num=123.1254
num.toFixed(3) //结果为123.125 结果保留三位有效数字,并且进行四舍五入
2.string(字符串)
var object="sss";
typeof(object)
//结果 string
3.boolean (布尔值)
var object=true;
typeof(object)
//结果 boolean
4.object
不仅对象返回的数据类型为object
数组返回的对象也是object
null返回的也是object ,是为了给对象的占位符
var object={};
typeof(object)
//结果 object
5.undefined
var object=undefined;
typeof(object)
//结果 undefined
6.function
var object=function(){};
typeof(object)
//结果 function
二.显示类型转换
1.Number (转换成数字)
null :0
flase:0
true:1
但是undefined转换成NaN
字符a不能转换成NaN
var demo =Number(null);
console.warn(typeof(demo)+" : "+demo )
//结果number :0
2.parseInt(转换成整数)
基本和Number相同,但是只能转换成整数
- null ,boolean值,undefined 都不能转换成数字只能转换成NaN
*a-z,A-Z能转换成整数
*parseInt(demo,16) 后面那个代表demo的进制为16进制,转换成16进制显示结果
*如果字符串里面包括了数字,会取到数字为止
var demo = ("10");
console.warn(typeof(demo)+" : "+demo )
//结果number :10
var demo =parseInt("10aaaa");
console.warn(typeof(demo)+" : "+demo )
//结果number :10
3.parseFloat(转换成浮点类型数字)
基本等同于 parseInt,除了小数点
4.String 和toString(转换成字符串)
- toString不能undefined和null进行转换,会报错
- toString(radix) 可以进行转换目标进制,之后成相应的字符串
var demo=10;
var string1 =demo.toString(8);
console.warn(typeof(string1 )+":"+string1)
//结果 12
eg:paseInt和toString的混合应用实例
var demo=10000;
var test = parseInt(demo,2);
console.warn(test.toString(16))
//结果 10
4.Boolean(转换成布尔值)
Boolean()
二.隐式类型转换
1.isNaN(检验数字)
判断一个数字是否为NaN
console.log(isNaN('abc'));//true
//进行了Number转换成结果,然后结果和NaN比较
Number('abc') NaN -->NaN
2.++/-- +/-
++/-- +/- 都会把他的参数先进行Number()转换
var a = "abc"
a++; //结果NaN
+a; //结果NaN
var a ="123";
a++; 124 类型Number
3.-*/% ->Number()转换
4.&& || !
进行Boolean类型转换
5.<> >= <=
如果有一个数字,先把两边转换成数字进行比较,如果都是字符串,进行 asc码值进行比较
var a= "2">1; //结果true
var a= 2> "3"; //结果false
5.== !=
var a=1 == "1" //结果true
NaN ==NaN //结果false
网友评论