Js 数据类型详解和各种数据类型之间的运算

数据类型

            ECMAScript有5种简单数据类型(基本数据类型)和一种复杂数据类型(object )

            1 : undefined

            2 : null

            3 : Boolean

            4 : Number

            5 : String

首先介绍一个函数 typeof (检测给定变量的数据类型),它有六种返回值类型(全部小写)

1 :undefined

2 : boolean

3 : string

4 : number

5 : object(如果这个值是对象或者

6 : function 

说明下:function也是对象但由于函数有一些特殊的属性。所以需要typeof来区分函数和其他对象之间的区别。


undefined : 类型只有一个值 即undefined .。在使用 var 声明变量但未对其加以初始化时,这个变量的值就是undefined.

             对未初始化和未声明的变量执行typeof操作都返回了undefined .对于尚未声明的过的变量,只能执行一项操作,即使用typeof操作符检测数据类型。否则报错

            var message;

            var age ;

           alert(typeof message);  // undefined

           alert(type of age); // undefined

           alert(message) ;// undefined

           alert(age); // 产生错误


null : 类型是第二个只有一个值的数据类型 null值表示一个空对象指针,这也是使用typeof操作检测null值会返回object的原因


          由于undefined 的是派生自 null值的因此ECMA-262 规定对它们的相等性测试返回true

           alert(null == undefined) ; // true

Boolean :

Number :

     十进制 : var intNum = 55;

     八进制 :    var octalNum =  070  // 八进制的56

    十六进制 : var hexNum = 0xA //十六进制10                Ox开头后跟0-9 a-f(不分大小写)

     浮点数值的最高精度是17位小数 但进行算术计算时其精确度远远不如整数 例如0.1+0.2的结果不是0.3。而是0.3000000000004(这是基于IEEE754数值的浮点计算的通病)

   Number.MAX_VALUE  最大值

   Number.MIN_VALUE  最小值

  如果一个数值超过这个范围就是Infinity -Infinity(正负无穷)所以如果想确定一个值是不是无穷可以用isFinite()来判断 因为Infinity不是能够参与计算的值

alert(isFinite(Number.MAX_VALUE+Number.MAX_VALUE)); // false;

  NaN 即非数值 这个数值用于表示一个本来要返回数值的操作数未返回数据的情况(这样就不会抛出错误了)

任何涉及NaN的操作都返回NaN

NaN/10  ;//NaN

其次NaN与任何值都不相等

alert(NaN == NaN) ;// false;

isNaN()这个函数接受一个参数,该参数可以是任何类型,函数会帮我么确定这个参数是否不是数值,isNaN在接受到一个值之后,会尝试将这个值转换为数值,


parseInt()

由于ECMAsCRIPT 3 js引擎 070被当成八进制字面量

而EcmaScript 5 js引擎070 被当成0 即不具有解析8进制值的能力

为了消除上述困惑 可以为这个函数提供第2个参数。转换时使用基数 (多少进制)parInt("0xAF",16) //175

String :类型

    \n 换行 \t 制表 \b空格 \r 回车 \\斜杠

转换成字符串

toString();

var age = 11;

age.toSring() ; // '11';

对应数值的toString()还可以传入进制

var num = 10;

num.toString(2);//"1010" //转换成2进制的字符串


下面讲述下各类型之间的运算


在表达式中出现不同的数据类型时:js会自动的进行数据类型转换以使他们相容,通常来讲 类型转换是根据优先级来进行的

字符串优先级最高,其次是浮点型,整形, 布尔型。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值