首页
Javascript
Html
Css
Node.js
Electron
移动开发
小程序
工具类
服务端
浏览器相关
前端收藏
其他
关于

Javascript基本数据类型[Undefined,null,String,Number,Boolean]

2013年01月05日 发布 阅读(507) 作者:Jerman

Javascript有五种基本的数据类型:Undefined,null,String,Number,Boolean,这五种数据类型都可以用typeof来检测【也还可以用instanceof来检测,后面章节中介绍】

Undefined类型

已经声明而未赋值的变量的值为”undefined”【实际上未声明的变量用typeof检测也会返回undefined】

Undefined类型只有一个值,即undefined

  1. var i;
  2. alert(typeof i) //返回undefined
  3. alert(i==undefined) //返回true
  4. alert(i=="undefined"); //返回false

注意:从上面代码最后两行,可以看出带引号的undefined和不带引号的undefined是不相等的。

Null类型

表示空的对象指针,相当于对象占位符,typeof返回object

如果返回为对象,却找不到这个对象时,通常会返回null

  1. var i;
  2. alert(i==null); //返回true
  3. //特别要注意上面这一点,实际上undefined是null派生出来的,所以ECMAscript把两者的值定义为相等了

Boolean类型

只有两个字面值:true和false,这两个值跟数字值不是一回事,即true不一定等于1,false也不一定等于0,同时注意这两个字面值是区分大小写的,也就是说True和False都不是Boolean值。

Javascript所有类型都可以通过Boolean()方法来转换成Boolean值

下面是各种数据类型对应转换成Boolean值的规则:

数据类型转换为true的值转换为false的值
Booleantruefalse
String任何非空字符串“”空字符串
Number任何非0数字值(包括无穷大)0和NaN
Object任何对象null
Undefined——-不适用undefined

Number类型

数字的进制表示及科学计数法表示

  1. var ten = 10; //十进制数字字面量
  2. var eight = 070; //八进制的字面量表示,首字为0,后面为0-7的任何数字
  3. var sixteen = 0x3AB //十六进制字面表示,前两位为"0x",后面为0-9和A-F的任何值 ,这里字母不区分大小写
  4. var n = 3.4324321432e19 //科学计数法表示,这里e也不分大小写

Number类型的一些常量:

  1. alert(Number.MAX_VALUE) //Number数字的最大边界,注意大小写
  2. alert(Number.MIN_VALUE) //Number数字的最小边界,注意大小写
  3. alert(Number.POSITIVE_INFINITY) //返回 "Infinity",不能用于计算,注意大小写
  4. alert(Number.NEGATIVE_INFINITY) //返回 "-Infinity",不能用于计算,注意大小写
  5. alert(Number.negative_infinity) //返回undefined,所以注意上面的大小写
  6. alert(Number.MAX_VALUE==Number.POSITIVE_INFINITY) //返回false,边界最大值和最大值是不相等的!
  7. alert(Number.MIN_VALUE==Number.NEGATIVE_INFINITY) //返回false,边界最小值和最小值是不相等的!

可用方法: isFinite(),判断是否为有限数值,如果是则返回true,否则返回false

  1. alert("下面为isFinite方法使用");
  2. var result = 100;
  3. if(isFinite(result)){
  4. alert("这是一个有限的值");
  5. }
  6. alert(isFinite(Number.MAX_VALUE)); //返回false
  7. alert(isFinite(Number.MIN_VALUE)); //返回false
  8. alert(isFinite(Infinity)); //返回false
  9. alert(isFinite(-Infinity));//返回false

特殊数值: NaN (not a number) 即表示不是一个数字,则isNaN判断不是数字时返回true

NaN不能用于计算

  1. alert(NaN == NaN) //返回false

可用方法: isNaN(),判断是否为”不是数字”,不是数字则返回true,是数字则返回false;

  1. alert(isNaN(NaN))//返回true
  2. if(isNaN("blue"))//不是数字,返回true
  3. {
  4. alert("blue不是数字,返回true")
  5. }
  6. if(isNaN(0))//是数字,返回false,不弹出
  7. {
  8. alert("0是数字,返回false"); //不弹出
  9. }

其他数据类型可以使用Number()parseInt()parseFloat()转换成数字类型。

String类型

用单引号或双引号表示

字符串起始字符的位置为0,最后一个字符的位置为字符串长度减1

字符串中要用到的相关转义字符:

  1. \n 换行
  2. \t 制表符
  3. \b 空格
  4. \r 回车
  5. \f 换页符
  6. \\ 反斜杠
  7. \' 单引号
  8. \" 双引号
  9. \0nnn 八进制代码nnn表示的字符(n=0-7中的一个八进制数字)
  10. \xnn 十六进制代码nn表示的字符(n=0-9 && A-F中的一个十六进制数字)
  11. \unnnn 十六进制代码nnnn表示的Unicode字符(n=0-9 && A-F中的一个十六进制数字)

其他数据类型可以使用toString()、String()方法转换成字符串类型。

版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处

评论

  •  
  • JS包装对象

    对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”

    发布:2019-08-20 阅读(346)

  • JavaScript instanceof 运算符深入剖析

    在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "object"。ECMAScript 引入了另一个 Java 运算符 instanceof 来解决这个问题。instanceof 运算符与 typeof 运算符相似,用于识别正在处理的对象的类型。与 typeof 方法不同的是,instanceof 方法要求开发者明确地确认对象为某特定类型。

    发布:2019-08-20 阅读(105)

  • window.atob和btoa进行base64编码解码

    使用原生window.atob和btoa进行base64编码解码

    发布:2019-01-17 阅读(796)

  • [阮一峰]JavaScript 教程

    本教程全面介绍 JavaScript 核心语法,从最简单的讲起,循序渐进、由浅入深,力求清晰易懂。所有章节都带有大量的代码实例,便于理解和模仿,可以用到实际项目中,即学即用。

    发布:2018-10-19 来源:wangdoc.com

  • javascript检测浏览器的缩放状态,页面放大了或缩小了

    检测这种缩放有很种方法,QQ空间都通过flash来检测浏览器是否处于缩放。这里提供javascript的方法来检测浏览器的缩放。

    发布:2014-10-13 阅读(1014)

  • js中preventDefault、stopPropagation、return false三者之间的区别及使用

    preventDefault它是事件对象(Event)的一个方法,作用是取消一个目标元素的默认行为。既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。什么元素有默认行为呢?如链接<a>,提交按钮<input type="submit">等。当Event 对象的 cancelable为false时,表示没有默认行为,这时即使有默认行为,调用preventDefault也是不会起作用的

    发布:2014-05-26 阅读(449)

  • javascript严格模式(use strict)

    除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。

    发布:2013-11-13 阅读(424)

  • javascript原始数据类型相互转换

    javascript原始数据类型相互转换示例,如字符串、数字、布尔类型的相互转换

    发布:2013-10-19 阅读(547)

  • javascript Arguments对象之length、callee属性

    arguments是调用对象的一个属性,它与形参及局部变量是一样的,它实际上是调用了一个Arguments对象,Arguments对象与数组相似,但它又不是数组,因为它不具备数组的一些常用方法,如push,sort,shift等等。Arguments对象有两个属性:

    发布:2013-09-30 阅读(408)

  • 利用Object.prototype.toString判断javascript数据类型(数组,函数,类对象{},布尔类等)

    一般情况下,判断javasceript数据类型,使用typeof 或 instanceof 就够了,但偶觉得用起来还是别别扭扭的。这里介绍一个完美的方法,我们可以轻松的判断数组,对象(这里对象暂且指{}),函数(function),布尔(Boolean),null,undefined,number,时间对象(date),正则表达式(RegExp)。

    发布:2013-08-12 阅读(434)

  • Javascript数字类型小数表示方式的三种方法:toFixed,toExponential,toPrecision

    javascript提供了三个方法来计算表示小数点的位数:toFixed,toExponential,toPrecision

    发布:2013-05-30 阅读(532)

  • javascript typeof运算符

    typeof操作符,typeof是返回“表达式”的数据类型的字符串

    发布:2013-01-27 阅读(457)

  • javscript原始数据类型相互转换

    发布:2013-01-22 阅读(500)

  • Javascript基本数据类型[Undefined,null,String,Number,Boolean]

    Javascript有五种基本的数据类型:Undefined,null,String,Number,Boolean,这五种数据类型都可以用typeof来检测

    发布:2013-01-05 阅读(507)

  • javascript检测IE6/7/8,chrome,safari,firefox,opera等主流浏览器类型

    利用javascript检测浏览器的类别,网上也会有很多的代码,这里总结写了一下,主要检测主流的五款浏览器(IE,Chrome,Opera,Safari,Firefox)的类别,IE可以检测到IE6-IE9的本种版本,IE10没有检测过。

    发布:2012-11-27 阅读(493)

  • 理解javascript函数柯里化(Currying)

    在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术

    发布:2012-11-05 阅读(482)

  • IE6,IE7下onresize事件被执行多次的问题之解决方法

    IE下给window对象定义其onresize事件,在拉伸缩小窗口时,其onresize方法将被执行多次,并且其具体执行的次数在不同的电脑有不同的值,相当诡异,Firefox等其他浏览器则无此现象

    发布:2012-11-05 阅读(593)

  • javascript获取地址栏(url)QueryString(参数)值

    通过浏览器获取URL参数值

    发布:2012-10-30 阅读(595)

  • javascript获取浏览器窗口的宽度、高度

    通过原生js获取浏览器宽高、可视区域、滚动区域等等

    发布:2012-10-29 阅读(571)

  • iframe同域或异域下高度自动适应(兼容种浏览器)

    利用javascript来控制iframe的高度自动适应,介于javascript对不同域名权限的限制,分为两种情况

    发布:2012-10-25 阅读(587)

  • 获取当前时间、日期、星期(兼容IE,Firefox,Chrome,Opera,Safari...)

    获取当前时间代码,用原生JS所写,兼容种浏览器

    发布:2012-10-22 阅读(746)