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