JS中可以表示数字的最大值

目录

      • JS中可以表示数字的最大值
      • a = "abc" * "bcd";
      • a = Number.MIN_VALUE;
        • var c = 123 + 456;
      • Boolean 布尔值
      • Null类型的值只有一个,就是null
      • Undefined(未定义)类型的值只有一个,就是undefined。
      • 强制类型转换

JS中可以表示数字的最大值

 Number.MAX_VALUE
 console.log(Number.MAX_VALUE);
 值是 1.7976931348623157e+308
 相当于一个常量来保存着这个值。

 console.log(Number.MAX_VALUE * Number.MAX_VALUE);
 返回结果:Infinity(无穷大)

 console.log(-Number.MAX_VALUE * Number.MAX_VALUE);
 返回结果:-Infinity(负无穷大)

 a = Infinity;
 console.log(typeof a);
 返回结果:number
 使用typeof检查我们的infinity也会返回number,infinity不用加引号。

a = “abc” * “bcd”;

  console.log(a);
  返回结果:NaN

  NaN 是一个特殊的数字,表示not a number。
  用typeof检查一个NaN也会返回number。

  如果给NaN加引号,返回结果:string。

a = Number.MIN_VALUE;

 console.log(a);
 返回结果:5e-324

 表示大于0的最小值。

var c = 123 + 456;

 console.log(c);
 返回:579
 在JS中整数的运算,基本可以保证精确。

 var c = 0.01 + 0.02;
 console.log(c);
 返回结果:0.03

 var c = 0.01 + 0.02;
 console.log(c);
 返回结果:0.30000000000000004
 如果使用JS进行浮点数(小数),可能得到一个不精确的结果。
 别的编程语言都有这个问题,别的语言有办法解决,JS中不好解决。
 所以千万不要使用JS进行对精确度要求比较高的运算。

Boolean 布尔值

 布尔值只有两个:主要用来做逻辑判断
 true - 真
 false - 假
 
 var bool = true;
 console.log(bool);
 返回:true
 别加引号,加引号就变成“字符串”了。
 不加引号,叫作“字面量”。

 console.log(typeof bool);
 返回:boolean

Null类型的值只有一个,就是null

 null 这个值专门用来表示一个为空的对象。

 var a = null;
 console.log(a);
 返回:null

 var a = null;
 console.log(typeof a);
 返回:object
 使用typeof检查一个null值,会返回object。

Undefined(未定义)类型的值只有一个,就是undefined。

 var a;
 console.log(typeof a);
 返回:undefined

 当声明一个变量,但是并不给变量赋值时,它的值就是undefined。

 var b = undefined;
 console.log(b);
 返回:undefined

 var b = undefined;
 console.log(typeof b);
 返回:undefined
 使用typeof检查一个undefined时也会返回undefined。


 如果不声明变量直接:
 console.log(c);
 返回:报错
 报错内容:c is not defined

强制类型转换

      - 指将一个数据类型转换为其他的数据类型
      - 类型转换主要值将其他的数据类型,转换为
           String Number Boolean
      - 为什么不转换成null或undefined呢?
           因为就一个值,转换结果还是null和undefined,没有必要。

      var a = 123;
      console.log(typeof a);
      返回:number
      console.log(a);
      返回:123
      将其他的类型转换为String
      
      方式一:
           - 调用被转换数据类型的toString()方法。
                a.toString();
                调用xxx的yyy()方法,就是xxx.yyy();
                该方法不会影响到原变量,方法都是有执行结果的,
                它会将转换的结果返回。所以应该这样写:
                var a = 123;
                b = a.toString();
                console.log(typeof b); //返回:string
                console.log(b); //返回:"123"

                a = null;
                console.log(typeof a); //返回:object
                console.log(a); //返回:null
                转toString:
                a = null;
                a = a.toString();
                console.log(typeof a);
                //返回:Cannot read property'toString' of null
                console.log(a)
               // 返回:Cannot read property'toString' of null

                a = undefined;
                console.log(typeof a); //返回:undefined
                console.log(a); //返回:undefined
                转toString:
                a = undefined;
                a = a.toString();
                console.log(typeof a);
                //返回:报错 Cannot read property'toString' of null
                console.log(a)
                //返回:报错 Cannot read property'toString' of null
                但是要注意:null和undefined这两个值没有toString()方法。
                如果调用会报错。
                

      方式二:
           - 调用String()函数,并将被转换的函数作为参数
                传递给函数。
                a = 123;
                console.log(typeof a); //返回:number
                console.log(a); //返回:123
                调用String()函数,来将a转换为字符串
                String(a);
                //返回:number
                //返回:123
                a = String(a);
               //返回:String
                //返回:"123"

                a = null;
                a = String(a);
                console.log(typeof a);
                console.log(a);
                //返回:String
                //返回:"null"

                a = undefined;
                a = String(a);
                console.log(typeof a);
                console.log(a);
                //返回:String
                //返回:"undefined"


                注意:
                使用String()函数做强制类型转换时,
                1· 对于Number和Boolean实际就是调用的toString()方法。
                2· 但是对null和undefined,就不会调用toString()方法,
                     - 它会将null直接转换为“null”。
                     - 将undefined直接转换为“undefined”。

你可能感兴趣的:(JS,js,javascript)