JS数据类型转换

作者: 哎呦_連啓 | 来源:发表于2018-12-06 14:50 被阅读0次

转布尔值

Boolean类型只有两个字面值:true和false。
在条件判断时会出现假的(false)情况为:“ ”,0,NaN,null,undefined,false,只有这几种情况转换为false;与之相反的,什么为真呢?其实除了假都是真,包括所有对象。

转字符串

  • toString()
    要把一个值转换为字符串有两种方式,第一种是使用几乎每个值都有的toString()。但是有一点需要注意的是nullundefined值没有这个方法。
var colors = ['red','blue','green'];
var num = 123;
var found = true;
console.log(colors.toString()); //"red,blue,green"
console.log(num.toString());    //"123"
console.log(found.toString());  //"true"
  • String()
    在不知道要转换的值是null或undefined的情况下可以使用转型函数String(),这个函数可以将任何值转换为字符串
var colors = ['red','blue','green'];
var num = 123;
var found = true;
console.log(String(colors)); // "red,blue,green"
console.log(String(num));    // "123"
console.log(String(found));  // "true"
console.log(String(null));  // "null"
console.log(String(undefined));  // "undefined"

转number数据类型

其他类型转number类型主要有Number(),parseFloat(),parseInt()这三种强制类型转换

  • Number()
    Number()属于严格转换。此方法转换较为严格,当全部为数字或者解析全部为数字时才会转换,出现非数字或者空格时返回NaN,当遇到空字符串、null或者布尔类型false时返回0,当遇到布尔类型true时返回1,遇到undefined时返回NaN。NaN的意思是not a number,不是一个数值,但是NaN属于number数据类型,NaN和谁都不相等,包括他自己。判断是否为非有效数字时用isNaN(),是非有效数字返回true,有效数字返回false
console.log(Number(123));   //123
console.log(Number('123')); //123
console.log(Number('123aa'));   //NaN
console.log(Number(''));   //0
console.log(Number([]));   //0
console.log(Number(null));   //0
console.log(Number(false));   //0
console.log(Number(true));   //1
console.log(Number(undefined));   //NaN
  • parseInt()
    该方法可以把其他数据类型转换为整数,只取整数部分,当遇到以非数字开头的数据类型时,返回NaN。
console.log(parseInt(123)); //123
console.log(parseInt(123.23)); //123
console.log(parseInt('123.23')); //123
console.log(parseInt('123aa')); //123
console.log(parseInt('.123aa')); //NaN
console.log(parseInt('abc')); //NaN
console.log(parseInt('abc123')); //NaN
  • parseFloat()
    parseFloat()和parseInt()都属于非严格转换,该方法是保留浮点数
console.log(parseFloat(123)); //123
console.log(parseFloat(123.23)); //123.23
console.log(parseFloat('123.23')); //123.23
console.log(parseFloat('123aa')); //123
console.log(parseFloat('.123aa')); //0.123
console.log(parseFloat('ab123.23aa')); //NaN
console.log(parseFloat('abc')); //NaN

相关文章

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • JS的基本小结

    JS基本输出方式 JS数据类型 变量 常量 变量常量小练习 声明提前 隐式转换 显示转换/强制转换

  • JavaScript学习笔记.md

    学习材料————廖雪峰js教程 数据类型 ===与== == 自动转换数据类型再比较;=== 不转换类型 (更好...

  • JavaScript基础总结

    ✍目录总览:(JS概念与组成、JS格式规范、JS基本语法【输入、输出、变量、数据类型、数据类型转换、运算符、流程控...

  • JS里的数据类型转换

    上一篇文章(JS里的数据类型)介绍了js中的数据类型。这篇主要介绍数据类型转换。 一、任意类型转字符串 转换成st...

网友评论

    本文标题:JS数据类型转换

    本文链接:https://www.haomeiwen.com/subject/blwncqtx.html