日期:2014-05-16 浏览次数:20324 次
数据类型转换
JavaScript有两种数据类型的转换方法:一种是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换),另一种方法是从一个值中提取另一种类型的值,并完成转换工作。
?
基本数据类型转换的三种方法:
1.转换为字符型:String(); 例:String(678)的结果为"678"
2.转换为数值型:Number(); 例:Number("678")的结果为678
3.转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为true
?
从一个值中提取另一种类型的值的方法:
1.提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123
2.提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55
3.执行用字符串表示的一段javascript代码:eval(); 例:zhang=eval("1+1")的结果zhang=2
?
附录:
a. parseInt("09") 以0开头的话会自动转换成8进制格式,要规定转化成10进制的需要 parseInt("09",10)
b. parseFloat 转换成浮点数 parseInt 转换成整数.
这两个函数都有些容错性的,比如"123abc"会变成123.
其实可以判断一下,然后用eval,不过也可以使用这样的方法:
var a = "234" ; a = a.replace(/(^[\\s]*)|([\\s]*$)/g, ""); if( a !="" && !isNaN( a ) ){ //如果是数字 a = eval(a); } else{ //如果不是数字 a = null }
?
?
replace函数
?
通过写正则表达式来解决替换字符问题,replace(/要匹配的字符串/g,要替换的字符串)
网上的帖子大都是互相转载的,居的例子都是一个replace(/\-/g,'!'),但是如果要匹配的字符串长度大于1,究竟怎样写呢。
其实很简单,如果需要匹配的字符串只是字母一类的,例如abcde,那就可以直接replace(/abcde/g,'!')
如果含有特殊字符,需要在特殊字符前面转义(在字符前面加上\),当然每个字符都转义也可以的。例如!@#$,就可以这样写replace(/\!\@\#\$/g,',')
这样就可以搞定了,总之正则表达式很重要?
?
特殊字符
javascript 提供了一些特殊字符,允许在字符串中包括一些无法直接键入的字符。每个字符都以反斜杠开始。反斜杠是一个转义字符,表示 javascript 解释器下面的字符为特殊字符。
?
转义序列 字符
\b 退格
\f 走纸换页
\n 换行
\r 回车
\t 横向跳格 (ctrl-i)
\' 单引号
\" 双引号
\\ 反斜杠
\& 和号
请注意,由于反斜杠本身用作转义符,因此不能直接在脚本中键入一个反斜杠。如果要产生一个反斜杠,必须一起键入两个反斜杠 (\\)。
document.write('the image path is c:\\webstuff\\mypage\\gifs\\garden.gif.');
document.write('the caption reads, "after the snow of \'97. grandma\'s house is covered."');
?
可以使用这些转义序列来控制位于 <pre> 和 <xmp> 标识之间的文本格式,此外,也可用来控制警告、提示和确认消息框中的文本格式。
?
?