JavaScript入门指南_3

JavaScript_3

数值转换:

3个函数可以将非数值类型转换为数值类型:

Number()

parseInt()

parseFloat()

 

Number():

规则:

  • 如果是boolean值,true和false分别转换为1和0
  • 如果是数值,只是简单地传入和返回
  • 如果是null,返回0
  • 如果是undefined,返回NaN
  • 如果是字符串
  •     如果字符串只包含数字文本,则转换为对应的数字
  •     如果字符串为空"",则转换为0
  •     如果字符串含有非数字文本,则转换为NaN
alert(Number(true));//1
alert(Number(false));//0
alert(Number(12));//12
alert(Number(null));//0
alert(Number(undefined));//NaN
alert(Number(NaN));//NaN
alert(Number("12"));//12
alert(Number("12aa"));//NaN
alert(Number(""));//0
alert(Number(070));//56

 

 parseInt():

规则:

  • 在转换字符串时,如果第一个为非数值则返回NaN
  • 如果字符串第一个字符为数字,则会解析第二个字符,直到遇到非数字停止解析
  • 如果字符串以0x开头,则认为是16进制
  • 如果字符串以0开头,则认为是8进制
alert(parseInt(12));//12
alert(parseInt(null));//NaN
alert(parseInt(2.8));//2
alert(parseInt(undefined));//NaN
alert(parseInt(""));//NaN
alert(parseInt(true));//NaN
alert(parseInt(070));//56
alert(parseInt(0xa));//10
alert(parseInt("hello"));//NaN
alert(parseInt("123tom"));//123
alert(parseInt("22.9"));//22
alert(parseInt("070"));//70
alert(parseInt("070",8));//56
alert(parseInt("0xa"));//10
alert(parseInt("0xa",16));//10

 

parseFloat():

规则:

  • 与parseInt()不同之处是
  • 只能将字符串解析为十进制的
  • 支持对浮点数的解析
alert(parseFloat(12));//12
alert(parseFloat(12.2));//12.2
alert(parseFloat(true));//NaN
alert(parseFloat("12.22ab"));//12.22
alert(parseFloat("0xa"));//0
alert(parseFloat(0xa));//10
 

string类型:

  • string类型可以使用双引号或单引号表示
  • 支持java中的转义字符、例如\n,\t等
  • 使用length属性获取字符串的长度
  • 和java一样,string类型的值不可变的,改变某个字符串的值,将会销毁原有的值,从新建立新的值
  • 通过toString()或者String()方法将其他类型转换为字符串
var msg="hello!\n \t hi";
alert(msg);
alert(msg.length);//12  每个转义字符算一个
 
JavaScript入门指南_3

toString():

  • 对于非null,不是undefined的变量将会转换为相应的字符串
  • 对于null值,undefined值,将会报错
var str;//undefined
alert(str.toString());//Cannot call method 'toString' of undefined 

var str=null;
alert(str.toString());//Cannot call method 'toString' of null
 
var str;
str="";
alert(str.toString());//空
str=NaN;
alert(str.toString());//NaN
str=12;
alert(str.toString());//12
str=true;
alert(str.toString());//true
var num=10;
alert(num.toString());//10
alert(num.toString(2));//1010
alert(num.toString(8));//12
alert(num.toString(16));//a

 String():

  • String()方法可以将任何类型的值转换为字符串
  • 包括null,undefined
var str=undefined;
alert(String(str));//undefined
str=null;
alert(String(str));//null
 

字符串的常用方法:

  • length属性
  • charAt(index)索引index处的字符
  • charCodeAt(index)索引index处的字符的编码
  • indexOf("e")查找第一个e的索引,找不到返回-1,找到了返回索引
  • indexOf("e",2)从索引2开始往后找,包括索引2
  • lastIndexOf("e")从后往前找e的索引
  • lastIndexOf("e",0)从索引为0的位置往前找e
  • trim()去掉字符串前后的空格
  • toLowerCase()转小写
  • toUpperCase()转大写
  • concat("-test")将-test拼接到字符串的后面
  • split(",")按逗号分割字符串成一个数组
var msg=" redh ef";
alert(msg.length);//8
alert(msg.charAt(1));//r
alert(msg.charCodeAt(2));//e  101
alert(msg.indexOf("e"));//2
alert(msg.indexOf("e",2));//2
alert(msg.indexOf("e",3));//6
alert(msg.indexOf("e",7));//-1
alert(msg.lastIndexOf("e"));//6
alert(msg.lastIndexOf("e",0));//-1
alert(msg.trim());//redh ef
alert(msg.toLowerCase());// redh ef
alert(msg.toUpperCase());// REDH EF
alert(msg.concat("-test"));// redh ef-test
var txt="tom,jerry,alex";
alert(txt.split(","));//tom , jerry,alex
alert(txt.split("e"));//tom,j , rry , al , x

总结:

  • Number()
  • parseInt()
  • parseFloat()
  • toString()
  • String()
  • string类型具有的常用方法

你可能感兴趣的:(js,String,number,数值转换)