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
类型转换:
一、显示类型转换
- Number(mix) :把mix转化成数字类型 可以转为数字的就转化为相应的数字,不能转化的就转为NaN 其中:
Number(true) //1;Number(false)//0;Number(null) //0;Number(undefined) //NaN - parseInt(mix,radix) :把mix转化成整数 除了数字和能转化为数字的字符串,其他都转化为NaN,当mix为字符串时,则从第一位一直到非数字截止,即该方法可以截断 radix是将mix看成radix进制 来进行转化 若有小数部分则是直接去掉
注意:parseInt(true) //NaN; parseInt(false) //NaN;在把字符串转化为数字时,parseInt()可以截断,但Number()不能 =》 parseInt("123qqq")//123;Number("123qqq")//NaN
- parseFloat(number) :转化成 浮点类型 从一位开始看,到除了第一个点以外的非数字位截止
- Boolean(mix) : 转化为boolean类型
- 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、隐式类型转化(内部隐式的调用的都是显示类型的方法)
- isNaN():内部隐式调用Number()进行类型转化,再判断Number()返回的值是否是NaN。如:isNaN(null)//false isNaN(underfined)//true
- ++(加加) --(减减) +(正) - (负):内部隐式调用Number()转化后再进行相应计算
- +(加号) 当加号两边有一个是字符串的话,就会调用String,然后进行字符串的拼接
- - * / % 内部隐式调用Number()进行类型后再计算
- <(小于) >(大于) <=(小于等于) >=(大于等于) 字符串和数字比 会调用Number 转化为数字
- == != 1==‘1’//true undefined==null 1>2<3;//true NaN==NaN;//false NaN不等于任何东西 包括本身
- &&(与) ||(或) !(非) && || 虽然有转化 但返回的依然是原值
&&:先看第一个表达式转化成布尔值的值,如果为真,那么看第二个表达式转化为布尔值的值,。。。。依次进行,直到碰到假;如果只有两个表达式,则会在第一个表达式转化为布尔值为真时,直接返回第二个表达式的值;否则返回第一个表达式的值进行赋值
var a = 1 && 2+2;//4
var b = 0 && 2+2;//0
||:与&&类似,但先看第一个表达式转化为布尔值后的值,如果为真,直接返回第一个表达式的值,如果为假,则接着往下进行判断
判断真假只是决定是否接着“往下走”,但返回的仍是其本身的值,而不是转化的布尔值
注: 使用未声明的变量只有一种情况 不报错 就是 typeof(a);//undefined
因为 typeof 返回的是一个字符串 typeof(typeof(a));//String 【面试题】
一些示例:
typeof(a);//undefined
typeof(undefined);//undefined
typeof(NaN);//number
typeof(null);//object
var a="123abc";
typeof(+a);//numberr
typeof(!!a);//boolean
typeof(a+"");//string
1=="1";//true
NaN==NaN;//false
NaN==undefined;//false
''11''+11;//
1==='1';//false parseInt('123abc');//
typeof(typeof(a));//string
js中的类型转换的更多相关文章
- JS中String类型转换Date类型 并 计算时间差
JS中String类型转换Date类型 1.比较常用的方法,但繁琐,参考如下:主要使用Date的构造方法:Date(int year , int month , int day)<script& ...
- JS中数据类型转换
JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...
- JS中强制类型转换
JavaScript提供了3种强制类型转换的方法 一.Boolean()方法 该方法将指定的参数转换成布尔型.Boolean(object).参数object可以是字符串对象.数值对象.DOM对象等. ...
- JS中的各种类型转换规则(转)
JS中的类型转换非常恶心,大家都懂的,不过该学还是要学. 今天看犀牛书看到了转换规则,总结出来. X转字符串.数字.布尔值 X表示各种类型的值,直接上图: 值 转数字 转字符串 转布尔值 undefi ...
- JS中的数据类型和转换
一.JS中的数据类型 js中的数据类型可以分为五种:number .string .boolean. underfine .null. number:数字类型 ,整型浮点型都包括. string:字符 ...
- 关于JS中涉及的常用类型转换及运算符表达式
JS中的常用类型转换(一般用强制转换):1.强制转为整数:parseInt:写法:x = parseInt(x); 2.强制转换位小为:parseFloat:写法:x = parseFloat(x); ...
- js | JavaScript中数据类型转换总结
转载 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = “123”; a = Number(a); ...
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
- JavaScript中数据类型转换总结
JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...
随机推荐
- 使用jQuery的一些建议
1.尽可能使用id选择器而不是类选择器 例如: //html <p id="chooseId">测试文本</p> //jQuery console.time ...
- LeetCode 542. 01 Matrix
输入:只包含0,1的矩阵 输出:元素1到达最近0的距离 算法思想:广度优先搜索. 元素为0为可达区域,元素为1为不可达区域,我们的目标是为了从可达区域不断地扩展至不可达区域,在扩展的过程中,也就计算出 ...
- 基于Global.asax实现显示当前在线人数--ASP.NET基础
相对来说比较简单,直接贴代码了哈: Global.asax: <%@ Application Language="C#" %><script runat=&quo ...
- [luogu3600]随机数生成器
题面在这里 题意 给定n个[1-x]的随机整数\(a_1,a_2,a_3,...,a_n\)和q个询问区间\((l_i,r_i)\), 求出\(\max_{i=1}^{q}({\min_{j=l_i} ...
- 改数据库编码latin1为utf8
因为建数据库的时候没有选utf8,所以默认是latin1 在网上查了好多资料 ,试了很多种方法,都不奏效,有用的一个竟然要一列一列的改, 最后在评论里发现了这个,抱着试一试的心态竟然成功改过来了,在这 ...
- 【learning】莫比乌斯反演
吐槽 额其实这个东西的话..好像缠着机房里面的dalao们给我讲过好多遍了然后.. 拖到现在才搞懂也是服了qwq(可能有个猪脑子) 感觉就是主要几条式子然后疯狂换元换着换着就化简运算了? 草稿纸杀手q ...
- Micropython TurnipBit 电子时钟 青少年编程入门
电子时钟是一个很常用但是制作非常简单的小玩具了,对于Micropython初学者来说,制作一个电子时钟是非常简单又容易检验自己学习成果的实验了.TurnipBit相比于其他开发板,制作电子时钟就更加简 ...
- jQuery 事件代理时的this
在jQuery使用on方法进行事件代理的时候,this是有多种变化的.下面开始对其进行研究 HTML的代码: <ul id="selected-plays" class=&q ...
- 接触vsto,开发word插件的利器
研究word插件有一段时间了,现在该是总结的时候了. 首先咱们来了解下什么是vsto?所谓vsto,就是vs面向office提供的一个开发平台.一个开发平台至少包含两个要素:开发工具(sdk)和运行环 ...
- WCF服务寄宿到IIS
一.WCF简介: Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台.整合了原有的wind ...