JavaScript可以把数字格式化为字符串或者把字符串解析为数值。
字符串的使用:
var s='qwea123';
确定字符串长度:s.length
获取字符串最后一个字符:s.charAt(s.length-1);//取得长度,长度-1获取下标。
charAt() 方法可返回指定位置的字符。
请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1
的字符串。
从字符串中抽出第2,3,4个字符:s.substring(1,4)
stringObject.substring(start,stop)
在字符串中查找第一个字母a的位置:s.indexof('a');
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
stringObject.indexOf(searchvalue,fromindex)
数字转化为字符串:
方法1:
var n=13;
var n_str=n+" "; //加空格字符串,就会转换为字符串
方法2:
var n=13;
var n_str="n"; //直接套引号
方法3:
var n=13.789;
var n_str=n.toFixed(
0);
alert(typeof n_str+n_str);
var n=13.789;
var n_str=n.toFixed(
1);
alert(typeof n_str+n_str);
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1
的字符串。
stringObject.charAt(index)
index,必需。表示字符串中某个位置的数字,即字符在字符串中的下标。
字符串转化为数字:
当一个字符串用于数字环境中,他也会自动转化为一个数字。
var n="12";
var m="13";
var nm=n*m;
alert((typeof nm)+nm);
利用这个优点,我们可以把字符串减去0,就转换为数字
var n="13"-0;
alert(typeof n);
注意点:当你使用var n="13"+0;typeof就不会输出number,输出的是string,因为此时加好做的
是字符串链接,而不是运算,因为加号有两种用途,一是字符串链接,二是运算符。
将一个字符串转换为数字的一种缺少技巧性但是更清楚明白的方法就是,把Number()构造函数做一位一盒函数来调用:
var number=Number(string_value);
这种吧字符串转换为数字的方法的麻烦之处在于他过于严格,他只对以10为基数的数字有效,并且尽管他允许开头和结尾空白,但是,在紧随数字的字符串中,他不允许出现任何非空字符。一般不推荐使用。
要允许更多灵活的转化,可以使用parseInt()和parseFloat()。这些函数可以从字符串开始处转换和返回任何的数字,忽略或舍去非数字部分。parseInt()只截取整数,而parseFloat()截取整数和浮点数。推荐直接使用parseFloat()
parseInt()有个特殊的性质,如果一个字符串以 0x 或者 0X 开头,会被解释成一个十六进制的数字,
parseFloat()则不会解释为十六进制的数字,会直接取0输出。
例如:
var n=parseInt("0xFF");
alert(n)
var n=parseFloat("0xFF");
alert(n);
如果parseInt()和parseFloat()不能够吧置顶的字符串转换为数字,他们就会返回NaN
var n=parseInt("nine");
alert(n);
布尔值:
当布尔值为真的时候:非零数字,非空字符串
当布尔值为假的时候:0,空字符串,NULL
布尔值的转换:
var n=false;
var n_true=! n;