<<JavaScript编程全解>>阅读笔记之javascript数据类型

1.js只有一种数据类型,内部构造为 64位浮点小数

2.字符串比较大小,是比较unicode码,逐个编码比较

如 var str1="ad";

   var str2="ac";

str1>str2 //true,因为d比c大

3.字符串对象转为字符串

如 var obj=new string();

      var s=obj+"abc";

字符串转为字符串对象的显式做法

如 var obj=new string("abc");

转为字符串的另一种方法:

如 var str= string(122);

   var str2=string("aa");

4.字符串值不可改变

如 var str="abc";

str[0]="d";

alert(str[0]) //"a"

5. 数值型,JS中返回类型为"number"

6.JS中对于整数在53位以外的数值,结果不一定正确

7.JS中对于浮点数的计算结果,不一定正确

如: 0.1+0.2 //0.3000000000004

8.JS中转为数字的方法

如 var n=Number("23");

加上new 会转为对象

如var n=new Number("4343");

需转换的数如果为不能转为数字,会转为NAN

如var n=new Number("gg");

9.JS中正负无穷大,显示为Infinity,无穷大对于任何运算,都是Infinity,

当乘以0时,结果为NaN

10.对NaN任何运算,都为NaN,只要运算中出现NaN都为NaN

   NaN==NaN //false

  NaN===NaN //false

NaN对于任何比较也是false

如 NaN>1

   NaN>=1

isNaN 函数判断是否为数字

isNaN("ff")//false

isNaN("33")//true

11.isFinite 函数可以对 NaN与正负无穷大 之外的数判断

12.对于 null,typeof 得到的类型为object

   null.tostring() //会报错,null没有tostring方法

13. typeof undefined //结果为undefined

     出现undefined值的情况:

    A.未初始化的变量的值

    B.不存在的属性的值

    C.在没有传入实参,而调用的函数时,该函数对应的参数值

    D.对于没有Reture,或Reture没有表达式的函数返回值

    E.对于void运算符求值的结果 ,如:void()

  null=undefined //true

  null===undefined//false

14.typeof function(){} //结果为function

15.parseInt,parseFloat函数会忽略数字以外的字符 

如parseInt("100px");

16.字符串相减,会隐式转为数字型

如 '100' -1 //99

   '100' -'1' //99

  '100'-'' //100

17. 字符串相加,则会把数字转为字符

如 '100'+'1' //1001

  '1' +'100' //1100

18. 字符串转数字型最佳方式(网络传输字节最少)

    var s='3'

    +s;

19.数值转字符串最佳方式(网络传输字节最少)

  var n=3

 n+''

20.无法被转为数字的字符串,转数字为"NaN"

21.空字符串转数字为0

22.object 类型,转换布尔类型都为true

原文地址:https://www.cnblogs.com/zhangxiong/p/4901809.html