博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript数据类型转换汇总
阅读量:4916 次
发布时间:2019-06-11

本文共 3097 字,大约阅读时间需要 10 分钟。

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));//1    var a3=[];    alert(Number(a3));//0

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:

数据类型转换的应用,我们来看一个例子:在输入框输入内容,要求判断: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:

  1. 有没有输入
  2. 输入的是不是数字
  3. 不能有0在前面
  4. 不能是小数
  5. 输入的数字必须在5位以上、10位以内

注意:在输入框输入空格时,Number()能将其转换为数字0,所以,空格也是非NaN,用Number(str)==0来判断是否输入的为空格,此处本想用str==null代替却未达到效果,但在别的程序里用str==null来判断是否为空格却有用,欢迎大家前来指点!

转载于:https://www.cnblogs.com/jnslove/p/5300353.html

你可能感兴趣的文章
小记——Grub Rescue恢复
查看>>
dapper 最简单操作示例
查看>>
static作用(修饰函数、局部变量、全局变量)
查看>>
apache配置多个虚拟主机 localhost访问不了解决方案
查看>>
电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具 【转载】
查看>>
C++服务器端+Android客户端的网络通信[转]
查看>>
Pycharm工具远程链接GIT仓库
查看>>
Djano restframework
查看>>
使用Hbuilder手机debug
查看>>
Android快捷开关实现(转)
查看>>
软件测试准入准出规则
查看>>
C++ and OO Num. Comp. Sci. Eng. - Part 3.
查看>>
leetcode题目汇总
查看>>
Android中添加竖线和横线的方法
查看>>
java.lnag.Throwable详细解读
查看>>
数据库范式
查看>>
用 Vue.js 实现了一个 V2EX 克隆项目
查看>>
JQuery 操作按钮遮罩(删除)
查看>>
leetcode - Binary Tree Level Order Traversal i ii
查看>>
2016.11.30
查看>>