[4.4.2]parseInt():在转换字符串时,会忽略字符串前面的空格,直到找到第一个非空格字符。如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN。如果是,则继续解析,直到解析完成或者遇到非数字字符。
[4.4.2.1]parseInt()可以识别出各种进制的整数,但在解析八进制字面量的字符串,ECMAScript3会解析八进制,但ECMAScript5没有解析八进制的能力
[4.4.2.2]parseInt()函数提供第二个参数,表示多少进制,如:parseInt('123',16或10或2)
[4.4.2.3]parseInt(各种进制的数字):运算后的十进制的数字,如1.0或1.或01会以1输出
[4.4.2.4]因为parseInt()是专门用来处理字符串转换数字的,所以parseInt(其他类型包括'')//NaN
[4.4.3]parseFloat():类似于parseInt(),会忽略字符串前面的空格,直到找到第一个非空格字符
[4.4.3.1]parseFloat()只能解析十进制字符串
[4.4.3.2]parseFloat(各种进制的数字):运算后的十进制的数字,如1.0或1.或01会以1输出
[5]String:由单引号或双引号括起来的字符序列,任何字符串的长度都可以通过访问length属性获得
[5.1]字符字面量,也叫转义序列
\n 换行
\t 制表
\b 空格
\r 回车
\f 进纸
\\ 斜杠
\' 单引号
\" 双引号
\xnn 以十六进制nn表示一个字符(n为0-f),如\x41表示'A'
\unnnn 以十六进制nnnn表示一个Unicode字符(n为0-f),如\u03a3表示希腊字符ε
[5.2]ECMAScript中的字符串是不可变的
[5.3]字符串连接需要先创建一个新字符串,然后在新字符串中填充两个需要拼接的字符串,最后再销毁原来的字符串。这个过程在后台发生,也是在某些旧版本浏览器(IE6)拼接字符串速度慢的原因,但后来已经解决了这个低效率问题
[5.4]字符串转换
[5.4.1]toString()
Null和Undefined没有该方法
Boolean、Object、String有该方法
Number使用该方法可以传递基数2、8、10、16,如var num = 10;num.toString(2);//1010
但10.toString(2)会报错,因为数字后面不能跟标识符
[5.4.2]String()
有toString()方法,使用toString()方法
String(null);//'null'
String(undefined);//'undefined'
[5.4.3]要把某个值转换为字符串,可以使用加号操作符把它与一个空字符串''加在一起
[5.4.4]如果数组中的某一项的值是null或者undefined,那么该值在join()、toLocaleString()、toString()和valueOf()方法返回的结果中以空字符串表示
最后给大家一个简单的例子说明下这五种基本类型的不同
var testString = "Hello"; var testBoobean = true; var testUndefined = undefined; var testUndefined1; var testNull = null; var testObject = {a:1}; var testFunction = function(){return;}; alert(testString);//"string" alert(testBoobean);//"boolean" alert(testUndefined);//"undefined" alert(testUndefined1);//"undefined" alert(testUndefined2);//"undefined" alert(testNull);//"object" alert(testObject);//"object" alert(testFunction);//"function"
您可能感兴趣的文章: