美文网首页
js中的类型转换

js中的类型转换

作者: LikySis | 来源:发表于2018-10-26 01:08 被阅读15次

[js中的类型转换]

先介绍一下 typeof 的使用方法:

typeof(mix) 或者 typeof mix

其中 mix 可以是任何数据类型

js有六种数据类型:

五种简单数据类型,又叫基本数据类型,分别为:Number,String,Boolean,Null,Undefined;

一种基本数据类型:Object

typeof 的返回值有六种:

number、string、boolean、object、 function和underfined

注意:返回值是一个字符串类型

特别的:

  • typeof(null)==="object";//true
  • typeof(NaN)==="number";//true

类型转换:

一、显示类型转换

  1. **Number(mix) ** :把mix转化成数字类型 可以转为数字的就转化为相应的数字,不能转化的就转为NaN 其中:
    Number(true) //1;Number(false)//0;Number(null) //0;Number(undefined) //NaN

  2. parseInt(mix,radix) :把mix转化成整数 除了数字和能转化为数字的字符串,其他都转化为NaN,当mix为字符串时,则从第一位一直到非数字截止,即该方法可以截断 radix是将mix看成radix进制 来进行转化 若有小数部分则是直接去掉

    注意:parseInt(true) //NaN; parseInt(false) //NaN;在把字符串转化为数字时,parseInt()可以截断,但Number()不能 =》 parseInt("123qqq")//123;Number("123qqq")//NaN

  3. parseFloat(number) :转化成 浮点类型 从一位开始看,到除了第一个点以外的非数字位截止

  4. Boolean(mix) : 转化为boolean类型

  5. String(mix) :转化为字符串类型

mix.toString(radix) 与String(mix)用法不同 且undefined和null不能使用 mix.toString(); radix是目标值的进制 将mix转化成radix进制。

注:如将二进制10100转化为16进制

过程是 先parseInt()转化为10进制 然后在toString()转化为16进制

var num=10100;

var test=parseInt(num,2);

num.toString(16);

2、隐式类型转化(内部隐式的调用的都是显示类型的方法)

  1. isNaN():内部隐式调用Number()进行类型转化,再判断Number()返回的值是否是NaN。如:isNaN(null)//false isNaN(underfined)//true

  2. ++(加加) --(减减) +(正) - (负):内部隐式调用Number()转化后再进行相应计算

  3. +(加号) 当加号两边有一个是字符串的话,就会调用String,然后进行字符串的拼接

  4. **- * / % ** 内部隐式调用Number()进行类型后再计算

  5. **<(小于) >(大于) <=(小于等于) >=(大于等于) ** 字符串和数字比 会调用Number 转化为数字

  6. **== != **1==‘1’//true undefined==null 1>2<3;//true NaN==NaN;//false NaN不等于任何东西 包括本身

  7. **&&(与) ||(或) !(非) ** && || 虽然有转化 但返回的依然是原值

    &&:先看第一个表达式转化成布尔值的值,如果为真,那么看第二个表达式转化为布尔值的值,。。。。依次进行,直到碰到假;如果只有两个表达式,则会在第一个表达式转化为布尔值为真时,直接返回第二个表达式的值;否则返回第一个表达式的值进行赋值

    var a = 1 && 2+2;//4

    var b = 0 && 2+2;//0

    ||:与&&类似,但先看第一个表达式转化为布尔值后的值,如果为真,直接返回第一个表达式的值,如果为假,则接着往下进行判断

    判断真假只是决定是否接着“往下走”,但返回的仍是其本身的值,而不是转化的布尔值

注: 使用未声明的变量只有一种情况 不报错 就是 typeof(a);//undefined

因为 typeof 返回的是一个字符串 typeof(typeof(a));//String

相关文章

  • js中的类型转换

    在js中数据转换分为3种:隐式类型转换,强制类型转换,函数转换 1.隐式类型转换 (1):运算符转换 js中的值在...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

  • js中的布尔类型转换

    js中的布尔类型转换 在js中经常会遇到其他类型的值转换为布尔类型的情况,总的来说js中的值可以分为以下两类 :(...

  • 2、强制数据类型转换

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

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

  • javaScript中数据类型转换方法

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

  • 数据类型转换

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

  • js中的~~运算符号

    js中的~~是一种利用符号进行的类型转换,转换成数字类型如:

  • js中类型转换

    类型转换 首先,类型转换的三种情况: 转换成数字 转换成字符串 转换成布尔类型三种转换的所有情况如下表:15592...

  • 前端开发入门到实战:JavaScript字符串转换数字

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

网友评论

      本文标题:js中的类型转换

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