javascript 显示类型转换

一、转型函数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"

  

时间: 2024-12-25 17:39:17

javascript 显示类型转换的相关文章

javascript 隐性类型转换步骤

原文:javascript 隐性类型转换步骤 这里说的隐性类型转换,是==引起的转换. 如果存在NaN,一律返回false 再看有没有布尔,有布尔就将布尔转换为数字 接着看有没有字符串, 有三种情况,对方是对象,对象使用toString进行转换:对方是数字,字符串转数字:对方是字符串,直接比较:其他返回false 如果是数字,对方是对象,对象取valueOf进行比较, 其他一律返回false null, undefined不会进行类型转换, 但它们俩相等 这个顺序一定要死记,这是面试时经常问到的

JavaScript显示分页按钮

/** * * @param total_page 总页数 * @param current_page 当前页 * @param num 页面显示多少个分页按钮 * @returns {string} */ exports.get_page_html = function(total_page,current_page,num){ //范围判断 if(current_page>total_page) { current_page = total_page; } //当前页的前后各显示多少页 va

JavaScript显示时间

JavaScript显示时间,时间还在走动着!不是一个静态的效果! 演示地址:http://www.ijavascript.cn/tools/jsdemo/320/time.htm function Time() 定义一个函数.www.120hrb.com { if (!document.layers&&!document.all) return 由于IE与Netscape对JavaScript的解释不同,造成浏览的效果不同,所以要分别写代码.这句话判断一下用户所使用的浏览器,如果两者都不

Javascript显示和隐式类型转换

1.转换成字符串 多数的JavaScript宿主环境(比如Node.js和Chrome)都提供了全局函数toString: 与此同时Object.prototype也定义了toString方法,使得所有对象都拥有转换为字符串的能力. 比如一个Number转换为String: var n = 1; n.toString(); // '1' toString接受一个参数指定进制,默认为10. 可以利用这个参数生成包括字母和数字的随机字符串: Math.random().toString(36).su

巨丑巨简陋的一个Javascript显示隐藏菜单

<!DOCTYPE html> <html> <head> <title></title> <style type="text/css">       #div1{width:100px;             height:500px;             background: aqua;}     li{list-style-type: none;        margin-left: 0px;   

javascript显示年月日时间代码显示电脑时间

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>显示当前北京时间</title> <script language=Javascript> function time() { //获得显示时间的div t_div = document.getElementById('showtime'); v

(五)JavaScript之[类型转换]

1 /** 2 * 类型转换 3 * 4 * JavaScript 数据类型 5 * 1.不同的数据类型 6 * string 7 * number 8 * object 9 * boolean 10 * function 11 * 12 * 2.对象类型 13 * Object 14 * Date 15 * Array 16 * 17 * 3.不包含任何值的数据类型 18 * null 19 * undefined 20 * 21 * typeof操作符查看JS的数据类型 22 * 23 *

javascript 显示对象的三种方法

以前发了个调试javascript时显示复杂对象的方法,有同学说为什么不用JSON.stringify(obj) 呢,有同学说用console.log(obj),为搞清楚这个问题,我试验了下这3个方法并做了比较,比较结果见图,代码在下面. 有几点说明下:1.从 ECMAScript 5th Edition 开始,JavaScript 内建了 JSON 对象,不用引js文件.2.alert(JSON.stringify(window)),会报TypeError: cyclic object val

前端开发自学之JavaScript——显示当前时间

1 <html> 2 <head> 3 <title>JavaScript</title> 4 <script language="javascript"> 5 function showtime(){ 6 var now_time = new Date() ; // 创建时间对象 7 var hours = now_time.getHours() ; //获得当前小时数 8 var minutes = now_time.ge