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数据类型转换汇总的更多相关文章

  1. JavaScript数据类型转换

    原文转自:http://javascript.ruanyifeng.com/grammar/conversion.html#rd JavaScript是一种动态类型语言,变量是没有类型的,可以随时赋予 ...

  2. JavaScript 数据类型转换(显式与隐式)

    一.数据类型 JS中有5中简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String.还有一种复杂数据类型------Object,Object本质是 ...

  3. (2017.10.16) javascript 数据类型转换与操作

    javascript 有 5 种基本数据类型:undefined.null.Boolean.String.Number,还有1 种较复杂的数据类型 Object:各种类型之间可以相互转换,其中有些有趣 ...

  4. JavaScript 数据类型转换表

    下表显示了将不同的JavaScript值转换为Number,String和Boolean的结果: 原始值 转换为Number 转换为String 转换为Boolean false 0 "fa ...

  5. javascript 数据类型转换

    javascrīpt 类型转换函数 在Javascrīpt中,Double类型和Int类型都是看作为Number对象. 1.Number转成String number.toString() Strin ...

  6. {}+[] = ? 和 []+{} = ? 浅谈JS数据类型转换

    参加公司技术嘉年华第一季(前端.服务端)的间隙,陈导问了我一个问题:{}+[] 和 []+{}两个表达式的值分别是什么?根据我的理解我觉得结果应该都是"[object Object]&quo ...

  7. JS中数据类型转换

    JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...

  8. JavaScript中数据类型转换总结

    JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...

  9. JavaScript的数据类型转换

    首先,由于JavaScript是弱类型语言(弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也 ...

随机推荐

  1. Struts2请求流程图

    ServletContext中的内容: <s:property value="#attr['countries']['cn']"/> <br> Sessio ...

  2. 进击的Android注入术《一》

    写在前面 这个系列本来是在公司的一个分享.内容比較多,所以就把这个PPT又一次组织整理成博客,希望对大家学习有所帮助.我会先以一个"短信拦截"作为样例,抛出问题,并提出了一种基于& ...

  3. C++语言基础(20)-模板的非类型参数

    一.在函数模板中使用非类型参数 #include <iostream> using namespace std; template<class T> void Swap(T & ...

  4. Windows 内核(WRK)简介

    引子 WRK 是微软于 2006 年针对教育和学术界开放的 Windows 内核的部分源码,WRK(Windows Research Kernel)也就是 Windows 研究内核,在 WRK 中不仅 ...

  5. 跟着百度学PHP[15]-会话控制session的工作机制

    COOKIE和SESSION的两大区别: cookie是存储与客户端 session是存储与服务端 需要开启session的时候需要使用session_start开启,且session的开头不能拥有任 ...

  6. JVM Specification 9th Edition (4) Chapter 4. The class File Format

    Chapter 4. The class File Format Table of Contents 4.1. The ClassFile Structure 4.2. Names 4.2.1. Bi ...

  7. VM克隆之后启动eth0找不到eth0:unknown interface:no such device

    问题出现:VMware 克隆之后,ifconfig命令执行找不到eth0,报错 eth0:unknown interface:no such device 是因为/etc/sysconf/networ ...

  8. DpQuery.js

    (function (window) { //添加事件的方法通用所有 function addevent(evetname, fn, obj) { if (document.attachEvent) ...

  9. Des加密方法

    //默认密钥向量 private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; private st ...

  10. Tomcat服务器的默认端口是多少?怎样修改tomcat的端口?

    Tomcat服务器的默认端口是多少?怎样修改tomcat的端口? 解答:默认端口为8080,可以通过service.xml的Connector元素的port属性来修改端口.