1.数据类型

javascript中的基本数据类型有4中,undefined,number,string,boolean

1.1 typeof关键字

typeof关键字可以获取一个变量的的类型。先举个例子

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var a = 10;
var b = 'a';
var c = "ab";
var d = true;
var e = 3.14;
var f;
document.write(a+"<br/>");
document.write(b+"<br/>");
document.write(c+"<br/>");
document.write(d+"<br/>");
document.write(e+"<br/>");
document.write(f+"<br/>");
document.write("<hr/>"); document.write(typeof a+"<br/>");
document.write(typeof b+"<br/>");
document.write(typeof c+"<br/>");
document.write(typeof d+"<br/>");
document.write(typeof e+"<br/>");
document.write(typeof f+"<br/>"); </script> </head>
<body>
</body>
</html>

运行的结果

从上面可以看出,typeof类型的总结:
(1)所有的数值都是number
 (2)字符和字符串都是string
(3)布尔是boolean
(4)如果一个变量没有给初始值,给的是undefined、
 
 
1.2 十进制,十六进制,八进制
 
 在javascript中以0开头的表示八进制,以0x开头表示十六进制。先看一段代码:

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>八进制,十进制,十六进制</title>
<script type="text/javascript">
var a = 13;
var b = 013;//八进制
var c = 0x12;//十六进制
document.write(a+"<br/>");
document.write(b+"<br/>");
document.write(c+"<br/>"); </script> </head>
<body> </body>
</html>

结果为:13,11,18

但是注意:八进制数,若数据超过0—7的话,以十进制数看待。例如:

 <script type="text/javascript">
var d = 081;//无效的八进制,以十进制看待
document.write(d); </script>
 输出的结果是:81
 
1.3 浮点数:
要定义浮点值,必须包括小数点和小数点后的一位小数字,(例如1.0不是1),这被看做浮点数字面量。例如:
 
 <script type="text/javascript" >
var a = 3.14;//浮点数
var b = 1.//合法,小数点后面没有数字,解析为1
var c = 10.0//整数,解析为10。
document.write(a + "<br/>");
document.write(b + "<br/>");
document.write(c + "<br/>");
</script>

结果为:3.14

    1

    10

注意:

由于浮点数需要的内存空间是整数的两倍,因此javascript会将浮点数转换为整数值。因此小数点后没有数字或浮点数本身就是一个整数就将看做整数。

1.4 转换成数字

javascript提供了两种转换数字的方法,parseInt()和parseFloat()两种方法。这两种方法只是将string进行转换数字,才能正确运行,其他的数据类型转换都是NaN。

parseInt()方法首先查看第0处的字符,若是数字,往第1处字符检查,若是数字就接着往下找,直到找到为字符的结束;如果查看第0处的字符是字符,那就结束查找,返回的是NaN。

例如:

 <script type="text/javascript">
var a = "10av";
document.write(parseInt(a)+"<br/>");//返回的是10,找到第一个字符a,结束。
var b = "0xB";
document.write(parseInt(b)+"<br/>");//返回的11,将字符串中包含的数字字面转换为数字。
document.write(parseInt("56.9")+"<br/>");//返回56,将去掉小数点后面的数字
document.write(parseInt("abv")+"<br/>");//返回NaN
</script>
注意:
字符串中包含的数字字面将转换为数字,例如0xB,先转换为11。 56.9将小数点后面的数字省略,转换为56
parseFloat()和parseInt()都是将字符串转换为数字类型,只不过parseFloat()遇到浮点数时转换为原数,parseInt()将浮点数转换为整数,将小数点后面的省略。
 
 <script type="text/javascript">
document.write(parseFloat("123")+"<br/>");//返回123
document.write(parseFloat("abc456")+"<br/>");//返回NaN
document.write(parseFloat("456abc")+"<br/>");//返回456
document.write(parseFloat("23.1")+"<br/>");//返回23.1
document.write(parseFloat("-23")+"<br/>");//返回-23
</script>

下面看一下sNaN,判断是否是一个有效的数值,

isNaN(表达式):返回的结果是否为NaN(非数值)

 <script type="text/javascript">
document.write(isNaN("abc")+"<br/>");//true
document.write(isNaN("123")+"<br/>");//false </script>

javascript基础二数据类型的更多相关文章

  1. JavaScript基础:数据类型的中的那些少见多怪

    原文:JavaScript基础:数据类型的中的那些少见多怪 Javascript共有6种数据类型,其中包括3个基本数据类型(string,number,boolean).2个特殊数据类型(undefi ...

  2. 2、JavaScript 基础二 (从零学习JavaScript)

     11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...

  3. JavaScript 基础(数据类型、函数、流程控制、对象)

    一.JavaScript概述 1.1 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Script ...

  4. 刘强1109 JavaScript基础二(分支与循环结构)

    [if-else结构] 1.结构的写法: if(判断条件){ 条件为true时,执行if{} } else{ 条件为false时,执行else{} } 2.注意事项: ① else{}语句块,可以根据 ...

  5. JavaScript 基础(二) - 创建 function 对象的方法, String对象, Array对象

    创建 function 对象的两种方法: 方式一(推荐) function func1(){ alert(123); return 8 } var ret = func1() alert(ret) 方 ...

  6. JavaScript基础之数据类型部分总结

    JavaScript 是世界上最流行的脚本语言,被设计为向 HTML 页面增加交互性. 我把它的基础语法分为了三个部分:数据类型,运算符,流程控制语句.入门还是比较容易的. 基本概念: 标识符:指变量 ...

  7. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  8. Javascript基础二(程序的三大结构)

    程序的三大结构: 顺序结构,选择结构,循环结构 程序的单分支结构-if语句:       当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句       if(条 ...

  9. JavaScript 基础(二)数组

    字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单 ...

随机推荐

  1. 【其他】win7创建wifi热点共享给手机使用

    出门在外,有时候网络有诸多不便,需要用笔记本创建wifi热点给手机用:本人测试xp怎么配置都不好使,但win7有可行的方案,不依赖第三方软件. 详述如下: 场景一:win7 + A(PC机)(用无线连 ...

  2. Elasticsearch学习之入门

    1.什么是Elasticsearch Elasticsearch是一个基于Apche Lucene的开源实时分布式搜索和分析引擎. 2.安装 安装Elasticsearch的唯一要求是安装官方新版的j ...

  3. time元素和datetime、pubtime属性

    time:对一个时间进行标识 <time datetime="2012-12-24">2012-12-24</time> datetime:时间的值 pub ...

  4. 数据库Mysql学习笔记(一)

    Mysql 数据库是数据库初学者最佳的选择的,其语法简单,采用的非底层的SQL语言定义(DDL).操作(DML).控制(DCL)数据库. 入门知识:服务器.库.表. (1)安装Mysql服务器.配置文 ...

  5. Ubuntu 16.04 软件中心闪退 解决方案

    最近使用16.04不知道是哪里出了问题,软件中心打不开了,点击图标之后完全不显示GUI,过一会儿软件就自动关闭了,然后也没有报错的log. 虽然可以使用命令行升级,但是强迫症不能忍啊. 经过一番折腾, ...

  6. Android ——单元测试

    什么是单元测试 首先需要介绍一下什么是单元测试.很多人像我一样,本科并不是计算机专业出身的,如果在职的公司不要求做单元测试的话,可能对这个词并没有一个确切的概念.而即使是计算机专业出身,如果毕业以后写 ...

  7. Python学习感悟

    学习任何新知识,我自己偏向于在实践中学习,这样效率更高:如果只是学习基本概念,会很枯燥. 现在的问题是:不是所有的新知识都可以在实践中学习!

  8. 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛

    比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...

  9. div内容滚动,无缝滚动

    function startmarquee(lh, speed, delay) {        var t;        var oHeight = 373; /** div的高度 **/     ...

  10. linux进程命令

    1. ps命令 命令 命令名称: 命令名称: ps 功能: 功能: 查询正在执行的进程 语法: 可选参数] 语法: ps [可选参数] 描述: 命令提供 命令提供Linux系统中正在发生的事情的   ...