码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 显示类型转换

时间:2016-01-21 23:38:58      阅读:429      评论:0      收藏:0      [点我收藏+]

标签:

一、转型函数Boolean()

ECMAScript中所有类型的值都有与Boolean值(true和false)等价的值。要将一个值转换为其对应的Boolean值,可以调用转型函数Boolean()

数据类型 转换为true的值 转换为false 的值
Boolean true false
String 任何非空字符串 "" (空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined 不适用 undefined
Boolean(null);//false
Boolean(undefined);//false
Boolean("");//false
Boolean(0);//false
Boolean({});//true

用Boolean转换空格字符串,也会转换为true

二、数值转换

有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloat()

转型函数Number()可以用于任何数据类型,其他两个专门用于把字符串转换为数值

1、转型函数Number()

Number()函数的转换规则:

(1)如是布尔值,true转换为1,false转换为0

(2)如是null,返回0

(3)如是undefined,返回NaN

(4)如是字符串,规则:

  • 如字符串中只包含数字(包括前面带正负号的情况),将其转换为十进制数值
  • 如字符串中包含有效的浮点格式,将其转换为对应的浮动数值
  • 如字符串中包含有效的十六进制格式,例如“oxf”,将其转换为相同大小的十进制整数值
  • 如字符串为空,转换为0
  • 如字符中包含除上述格式之外的字符,将其转换为NaN

(5)如果是对象,调用对象的valueOf()方法,再依照前面的规则转换返回的值,如果转换结果为NaN,调用对象的toString()方法,再依照前面的规则转换

console.log(Number("ad12"));//NaN
console.log(Number("12ad"));//NaN
console.log(Number("12"));//12
console.log(Number("2.1w"));//NaN
console.log(Number(""));//0
console.log(Number(true));//1
console.log(Number());//0
console.log(Number(null));//0
console.log(Number(undefined));//NaN
console.log(Number(" "));//0
console.log(Number(""));//0
console.log(Number("0xf"));//15
console.log(Number("070"));//70

2、parseInt()函数  

规则:

(1)忽略字符串前面的空格,直到找到第一个非空格字符,如果第一个字符不是数字或者负号,会返回NaN,用parseInt()转换空字符串会返回NaN

(2)如果字符串以“ox”开头,且后跟数字字符,会当作一个十六进制整数

(3)第二个参数表示转换时使用的基数(多少进制)

     console.log(parseInt(""));//NaN
     console.log(parseInt());//NaN     
     console.log(parseInt(true));//NaN
     console.log(parseInt("0x10"));//16
     console.log(parseInt("0xf"));//15
     console.log(parseInt("070"));//70
     console.log(parseInt("22.7"));//22
     console.log(parseInt("22.7.9"));//22
     console.log(parseInt("AF",16));//175
     console.log(parseInt("10",2));//2
     console.log(parseInt("10",8));//8
     console.log(parseInt("10",16));//16
     console.log(parseInt("10qq"));//10 

3、parseFloat()函数  

与parseInt()函数类似,也是从第一个字符开始解析每个字符,一直解析到字符串末尾,或解析到遇到一个无效的浮点数字字符为止。

字符串中的第一个小数点是有效的,第二个小数点就无效了

只能解析十进制数,没有第二个参数

     console.log(parseFloat("10qq"));//10
     console.log(parseFloat("0xAF"));//0
     console.log(parseFloat("23.1.4"));//23.1

  

三、字符串转换

1、toString()方法

返回相应值的字符串表现

数值、布尔值、对象和字符串值都有toString()方法。但null和undefined没有这个方法

可以传递一个参数:输出数值的基数。通过传递参数,可以输出二进制、八进制、十六进制及其他有效进制格式表示的字符串值

var age=11;
console.log(age.toString());//"11"
var b1=true;
console.log(b1.toString());//"true"
var num=10;
console.log(num.toString());//"10"
console.log(num.toString(2));//"1010"
console.log(num.toString(8));//"12"
console.log(num.toString(10));//"10"
console.log(num.toString(16));//"a"

2、String()函数

遵循规则:

(1)如果值有toString()方法,则调用这个方法

(2)如果值是null,则返回"null"

(3)如果值是undefined,则返回"undefined"

var value1=10;
var value2=true;
var value3=null;
var value4;

console.log(String(value1));//"10"
console.log(String(value2));//"true"
console.log(String(value3));//"null"
console.log(String(value4));//"undefined"

  

 

javascript 显示类型转换

标签:

原文地址:http://www.cnblogs.com/aimee2004/p/5149489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!