数据类型及类型转换
数据类型及类型转换
js的六大数据类型
js有六种数据类型
1.基本数据类型:
number 123
string ‘abc’
boolean true,false
undefined undefined
null 空
2.复杂数据类型
object { }
三大引用类型
object { }
array [ " " ]
function
1.number类型
number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
nan:非数字类型。特点:① 涉及到的任何关于nan的操作,都会返回nan ② nan不等于自身。
isnan() 函数用于检查其参数是否是非数字值。
isnan(123) //false
isnan("hello") //true
2.string类型
字符串有length属性。
字符串转换:转型函数string(),适用于任何数据类型(null,undefined 转换后为null和undefined;tostring()法(null,defined没有tostring()方法)。
3.boolean类型
该类型只有两个值,true和false
4.undefined类型
只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。
5.null类型
null类型被看做空对象指针,前文说到null类型也是空的对象引用。
6.object类型
js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。
js的类型转换,强制转换和隐式转换
1.强制转换
通过string(),number(),boolean()函数强制转换
1 var str=123; 2 var str1='123'; 3 console.log(typeof str); //number 4 console.log(typeof str1); //string 5 console.log(typeof string(str)); //string 6 console.log(typeof number(str1)); //number
2.隐式转换
javascript的数据类型分为六种,分别为null,undefined,boolean,string,number,object。object是引用类型,其它的五种是基本类型或者是原始类型。我们可以用typeof方法打印来某个是属于哪个类型的。不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换。隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等。
1 console.log(typeof '10') //string 2 console.log(typeof 11) //number 3 console.log('11' < 4 ) //false
1.字符串加数字,数字就会转成字符串。
2.数字减字符串,字符串转成数字。如果字符串不是纯数字就会转成nan。字符串减数字也一样。两个字符串相减也先转成数字。
3.乘,除,大于,小于跟减的转换也是一样。
1 console.log(10+'20') //2010 2 3 console.log(10-'20') //-10 number 4 console.log(10-'one') //nan not a number 5 console.log(10-'101a') //nan 6 console.log(10*'20') //200 number 7 console.log('10'*'20') //200 number 8 console.log(20/'10') //2 number 9 console.log('20'/'10') //2 number 10 console.log('20'/'one') //nan
关于==
1.undefined等于null
2.字符串和数字比较时,字符串转数字
3.数字为布尔比较时,布尔转数字
4.字符串和布尔比较时,两者转数字
console.log(undefined==null) //true console.log('0'==0) //true 字符串转数字 console.log(0==false) //true 布尔转数字 console.log('0'==false) //2个都转成数字 console.log(null==false) //false console.log(undefined==false) //false
上一篇: AngularJS的作用域与事件详解
下一篇: 你舀我我