JavaScript数据类型转换汇总
ECMAScirpt中的数据类型:undefined、Null、Boolean、Number、String、Object
对一个值使用typeof操作符可能返回下列某个字符串:
number(数字)、function(函数)、Boolean(布尔值)、string(字符串)、object(对象或null)、undefined(未定义)
undefined类型:
在声明了变量但未对其加以初始化时,这个变量的值就是undefined
Null类型:
它的特殊值就是null,null值表示一个空对象指针
Boolean类型:
有两个字面值:true、false,注意true不一定等于1,false不一定等于0
要将一个值转换成对应的布尔值,可以调用转型函数Boolean()
Number类型:
将一个值转换成对应的数字,Number()
例如:
var a1='';
alert(Number(a1));//0 注意
var a2=true;
alert(Number(a2));//
var a3=[];
alert(Number(a3));//
parseInt、parseFloat将值转换成整数、小数
var num=200.45;
if (parseInt(num)==parseFloat(num)) {
alert(num+'是整数');
}
else{
alert(num+'是小数');
};
Number()、parseInt()、parseFloat()都是显示类型转换,也叫强制类型转换
隐式类型转换有:
+ 200+’3’ 变成字符串 2003
-、*、/、%
++、—— 变成数字
>、< 注意数字的比较与字符串的比较是不一样的
NaN:
即not a number ,NaN不是数字的数字类型,NaN与其本身不相等,isNaN()判断某些值是不是数字;与Number相反,isNaN()是在Number转不成数字的情况下的数字类型
JavaScript:
var oBtn=document.getElementById('btn1');
var oText=document.getElementById('text1');
var str='';
oBtn.onclick=function(){
str=oText.value;
//判断输入的内容是否为数字
if (isNaN(str)) {
alert(str+'不是数字');
}
else{
//判断是否为空格/*Number(str)==0*/
if (str==null) {
alert('输入的是空格');
}
else
{alert(str+'是数字');}
};
}
HTML:
<input id="text1" type="text">
<input id="btn1" type="button" value="判断文本框内的内容是否为数字">
数据类型转换的应用,我们来看一个例子:在输入框输入内容,要求判断:1、有没有输入 2、输入的是不是数字 3、不能有0在前面 4、不能是小数 5、输入的数字必须是在5位数以上、10位数以内
var oBtn=document.getElementById('btn1');
var oText=document.getElementById('text1');
var str='';
oBtn.onclick=function(){
str=oText.value;
oText.value='';
if (str=='') {
alert('请输入内容');//没有输入内容
}
//判断输入的内容是否为数字
else if (isNaN(str)) {//不是数字
alert('请输入数字');//输入的不是数字
}
//判断输入的是否为空格
else if(Number(str)==0){
alert('空格无效');
}
else{//输入的是数字
//判断第一位数是否为0
if (str[0]=='0') {
alert('第一位是不能为0');
}
else{
//判断是否为小数
if (parseInt(str)==parseFloat(str)) {
var num=parseInt(str);
//输入的数字必须在5位以上、10位以内
if ((num>9999)&&(num<999999999)) {
alert('输入成功!');
}
else{
alert('输入的数字不在范围内');
};
}
else{
alert('输入的数字是小数');
}
}
};
}
HTML:
<input id="text1" type="text">
<input id="btn1" type="button" value="判断">
<ol>
<li>有没有输入</li>
<li>输入的是不是数字</li>
<li>不能有0在前面</li>
<li>不能是小数</li>
<li>输入的数字必须在5位以上、10位以内</li>
</ol>
注意:在输入框输入空格时,Number()能将其转换为数字0,所以,空格也是非NaN,用Number(str)==0来判断是否输入的为空格,此处本想用str==null代替却未达到效果,但在别的程序里用str==null来判断是否为空格却有用,欢迎大家前来指点!
JavaScript数据类型转换汇总的更多相关文章
- JavaScript数据类型转换
原文转自:http://javascript.ruanyifeng.com/grammar/conversion.html#rd JavaScript是一种动态类型语言,变量是没有类型的,可以随时赋予 ...
- JavaScript 数据类型转换(显式与隐式)
一.数据类型 JS中有5中简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String.还有一种复杂数据类型------Object,Object本质是 ...
- (2017.10.16) javascript 数据类型转换与操作
javascript 有 5 种基本数据类型:undefined.null.Boolean.String.Number,还有1 种较复杂的数据类型 Object:各种类型之间可以相互转换,其中有些有趣 ...
- JavaScript 数据类型转换表
下表显示了将不同的JavaScript值转换为Number,String和Boolean的结果: 原始值 转换为Number 转换为String 转换为Boolean false 0 "fa ...
- javascript 数据类型转换
javascrīpt 类型转换函数 在Javascrīpt中,Double类型和Int类型都是看作为Number对象. 1.Number转成String number.toString() Strin ...
- {}+[] = ? 和 []+{} = ? 浅谈JS数据类型转换
参加公司技术嘉年华第一季(前端.服务端)的间隙,陈导问了我一个问题:{}+[] 和 []+{}两个表达式的值分别是什么?根据我的理解我觉得结果应该都是"[object Object]&quo ...
- JS中数据类型转换
JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...
- JavaScript中数据类型转换总结
JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...
- JavaScript的数据类型转换
首先,由于JavaScript是弱类型语言(弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也 ...
随机推荐
- 阿里云ECS网站备案流程
首先登录阿里云账号-->点击选项卡中的备案专区-->开始备案选项卡-->增加网站 然后是一大堆信息核查,之后填写网站备案信息,这里注意,有个文件审批号的选项可以不填(选择“请选择”) ...
- [转]c++ 为什么要将基类的析构函数声明为Virtual?
http://www.cnblogs.com/alephsoul-alephsoul/archive/2012/10/12/2721410.html
- Jquery js框架使用
jquery 众所周知 ,强大的 js框架 自己使用的一些笔记 //1.json格式定义方法 var product_obj={ check_init:function(){ ...
- hdu 1018 Big Number 数学结论
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 浅谈HTTPS协议和SSL、TLS之间的区别与关系
HTTP可能是我们见到过最多的一个字符串了,应该没有之一,而对于HTTPS到来和趋势,我们又开始看到SSL/TLS,所以对于一般不只做技术的人来说这或许还是一个疑问,那么子凡就趁最近在折腾这方面来给大 ...
- go context包的WithTimeout和WithCancel的使用
1.WaitGroup 它是一种控制并发的方式,它的这种方式是控制多个goroutine同时完成. func main() { var wg sync.WaitGroup wg.Add(2) go f ...
- sqoop从hdfs 中导出数据到mysql
bin/sqoop export \ --connect "jdbc:mysql://mini1:3306/study?useUnicode=true&characterEncodi ...
- nodejs 聊天室简单实现
前言 博客园的样式真心不会用啊,看着大大们的博客各种好看,心里无奈啊,只能慢慢摸索了. 最近的项目nodejs+wcf+app,app直接从wcf服务获取数据,nodejs作为单独的服务器为app提供 ...
- 关于JSON日期格式显示及My97日期控件
1.My97日期控件.显示不同的日期格式,可以调整"dateFmt“的参数来配置: 详细DEMO:http://www.my97.net/demo/index.htm <p>日期 ...
- 第0步:OracleRAC软件准备
表1 软件准备列表 安装包属性 文件信息 Oracle 11.2.0.4 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Lin ...