JS数据类型
Posted webliusir
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS数据类型相关的知识,希望对你有一定的参考价值。
此贴为对JS基础数据类型的一些整理,包含了数据类型介绍、类型转换、运算符,很基础,也有不完善的地方,望大家补充,后期也会继续完善。
一.数据类型
js基本数据类型包含了:
1.简单的数据类型
1.1number数值型,包含了:整数、小数、NaN(错误算法得到的值)、无穷大(Infinity)、二进制、八进制等进制
他们的typeof返回值为number,typeof可为判断数据类型,可直接打印在控制台:console.log(typeof 5) 返回值为number
注意点:小数运算比较时要用toFixed()保留小数位,不然会出现:0.1+0.2=0.30000000000000004的情况。
2.string字符串类型:有双引号或者单引号包围起来的内容,typeof的返回值是string。字符串长度:字符串.length
获取字符串里字符的方法:1.可以通过字符串下标获取:第一个下标为0,最后一个下标是字符串长度-1。字符串.str[下标]ie7及以下浏览器不支持、字符串.charAt(下标)所有浏览器都支持。
3.boolean布尔类型:true、false,typeof返回值是boolean
4.null:n=null,null表示在将来准备存储对象,现在没有值,则先把值设置为null,注意:typeof返回值是object
5.undefined:声明了变量,但是未赋值,typeof返回值是undefined
2.复杂的数据类型:也称引用数据类型。object包含:
1.对象:window、document、以及页面当中的所有元素都可理解为对象,可以说是万物皆对象。typeof返回值是object,定义:var ojb
2.数组:一组数据的集合,可以值字符串类型,也可以是数值类型。typeof返回值是object,定义:var arr=[ ]
3.函数:被设计为执行特定任务的代码块,用来存储代码块,会在代码调用它时被执行。typeof返回值是function,定义:function 函数名() 代码块(或脚函数方法)
function fun ()
console.log("函数");
4.程序世界的真真假假:可以通过if(需要判断的值) alert(“这是真”) elsealert(“这是假”)去判断,为假的有:false 0 NaN ‘空字符串‘ null undefined
另外,所有对象object皆为真
二.数据类型转换
数据类型有两种:1.强制转换 2.隐式转换
1.强制转换:
1.转为字符串:变量名.toString( ),不能转换null和undefined;String.(变量名),可以转换任意数据;
2.转换为数值:
1.Number(变量名)可以转换任意类型,只有能转成功或者不成功,成功则返回数值,不成功则返回NaN,如Number("10a")则返回NaN
2.parseInt(变量名)或者parseInt(变量名,进制): 转换规则为从左向右一位一位的找,如果是数字则看下一位,如果是其他字符则到此为止,只取整,不会四舍五入
另外该方法可转换进制,如果不填入进制会按默认方法识别转换(ie浏览器必须写进制),如 parseInt(070) 因为8进制前缀是0,会识别为8进制输出为56;parseInt(0x70)因为0x是16进制的前缀,所有此时会输入为112;也可以按自身需求填入进制,如parseInt(70,16)这时按16进制转换输入112
3.parseFloat(变量名):规则与parseInt一样,但是会识别字符串中的一个小数点,并且不支持进制转换。如:
parseFloat("11.11")会转换为11.11 parseFloat("11.112.11.11")会转为11.112
2.隐式转换:在此我们先简单的说明,以后再详细说明。在我们做数学运算的时候会触发隐式转换,比如:var a=11 b="2" console.log(a-b) ,这时就会自动将b转为数值型,打印输入为:9
三.运算符
包含4大运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符
1.算术运算符:包含加 +、减-、乘*、除/、取余%、加加++、减减--
1.加+:当两边都是数值时为加法运算;当操作符两边有字符串时,会触发隐式转换,变成连接符
2.减-:减法,会触发隐式转换,如 var a="11" b="2" console.log(a-b) 输出为9
3.除/:如果两边不是数字,则转为数字运算
4.乘*:如果两边不是数字,则转为数字运算
5.余%:如果两边不是数字,则转为数字运算
6.加加++:自我增加,每次增加1
++前置时先做自增,后做其他运算
++后置时先做其他运算,再做自增
举例:var num=2 sum=0
sum=++num + num++
console.log(sum,num)输出为:6 4
或者:sum=++num + (num++)
console.log(sum,num)输出同样是:6 4
7.减减--:规则与++一样
2.赋值运算符:=、+=、-=、*=、/=、%=
=为赋值运算符,把右边的值赋给坐标
a=5 为把5赋值给a
a+=5---------a=a+5
a-=5----------a=a-5
3.比较运算符:> >=大于、大于等于 < <=小于、下雨等于
== !=等于、不等于:值相等,但是类型不一定相等
特殊举例:console.log( null==undefined)输出为true
console.log(NaN==NaN)输出为false
console.log([ ]==[ ])输出为 false
console.log( == )输出为false
console.log(‘ ‘==‘ ‘ )输出为true
=== !== 全等于 、不全等于:值相等,类型也相等
特殊举例:console.log(10===10)输出为true
console.log(10==="10")输出为false
console.log(null===undefined)输出为false
4.逻辑运算符:
1.&&与:规则:操作符两边为真则为真,一边为假则为假
短路操作:如果左边有假,直接结束,不会继续判断后面的
如果左右都为真,并且有具体值得时候,则返回最后的值
如:console.log(1 && 2)输出为2
console.log(1 && 2 && 4>2)输出为true
consosle.log(1 && 2 && 4>2 && 5) 输出为5
如果左边能够决定是否继续,就不用继续到右边了,如果坐标是一个值,则返回该值,如果是一个表达式,则返回布尔值
如:console.log(0 && 1 && 3>2) 这时判断0时就终止不往右了,返回值:0
console.log(1>3 && 1&& 3>2) 这时判断1>3后就终止了,返回布尔值 false
2.|| 或:规则:操作符两边有一边为真,即为真,全部为假才为假
短路操作,左边为真,直接结束,不会继续判断
3. ! 非 :规则:取反,非真即假,非假即真。
以上是关于JS数据类型的主要内容,如果未能解决你的问题,请参考以下文章