每一个变量都有一个确定的类型表明它存储什么样的数据。js基本的数据类型有strings字符串、numbers数字、Booleans布尔类型。字符串是使用双引号或单引号包含的一串字符;数字包括整数或浮点数。布尔类型只有两个值:true或false。这三种类型的例子:

var stringData = "JavaScript has strings\n It sure does";
var numericData = 3.14;
var booleanData = true;

js也支持两个其他的基本类型,undefined和null。详细内容看第3章。

   动态类型

js和其他语言的主要不同是js是动态类型(或称弱类型).尽管js变量有数据类型但是它的类型是通过内容类型推断出来的。例如一个变量被赋值一个字符串那么它就是字符型变量。js动态类型的结果是在执行的过程中它的类型可以改变。例如一个变量被赋值字符串,后来又被赋值布尔类型,那么它就变成布尔类型,这就是问什么声明变量只使用一个var.

js是弱类型有利有弊。如下面的语句很容易引起错误:

document.write(4*3);
document.write("<<br />>");
document.write("5" + 5);
document.write("<<br />>");
document.write("5" - 3);
document.write("<<br />>");
document.write(5 * "5");

输出是:

12
55
2
25

大多数情况字符串都会被转为数字参与计算,但是"5"+5并没有得到10,而是得到"55",因为这里 + 变成了字符串连接符。如果你试图这样写:"cat"-3,这将会得到NaN,因为cat不能转为数字,被转为NaN,它减3还是NaN。

第3章有详细的类型转换信息。js中转换类型有parseInt或parseFloat,判断类型的有typeof操作符:

var x = "5";
alert (typeof x);

会弹出string

javascrit2.0完全参考手册(第二版) 第2章第4节 基本的数据类型的更多相关文章

  1. javascrit2.0完全参考手册(第二版) 第2章第2节 语言特性

    脚本执行顺序     js代码是按照它们在html中出现的顺序一行一行被解释的.这表明把函数定义和变量声明放到<head>中会很好.这保证了函数的代码和事件相关的处理程序不会立即执行. 大 ...

  2. javascrit2.0完全参考手册(第二版) 第1章第2节:javascript的历史和使用

    javascript曾经带给人许多误解,例如如果你不了解它的历史,那么你可能困惑它和java有什么关系,其实它们一点关系都没有.网景公司1995年在Navigator 2.0 中引入这门语言时它叫Li ...

  3. javascrit2.0完全参考手册(第二版) 第2章第1节 基本定义

    在这里,我们介绍一些将要使用的编程语言术语.表2-1提供了精确定义的概念. Table 2-1: 编程语言的基本术语 名字 定义 例子 Token令牌 最小的不可分割的词汇的语言单位.一个连续的字符序 ...

  4. javascrit2.0完全参考手册(第二版) 第1章第1节 在XHTML文档中增加javascript

    通常,向文档中增加script脚本使用<script>元素,在HTML中增加脚本的方式有4中: (1)放到<script></script>块中: (2)<s ...

  5. javascrit2.0完全参考手册(第二版) 第2章第3节 变量

    变量存储数据.每个变量都有一个名字,叫做标识符.在js中声明变量使用var关键字,var为新的数据分配存储空间,或者指示一直标识符正在使用.声明变量非常简单: var x; 这个语句告诉解释器一个新的 ...

  6. Spring Security 5.0.x 参考手册 【翻译自官方GIT-2018.06.12】

    源码请移步至:https://github.com/aquariuspj/spring-security/tree/translator/docs/manual/src/docs/asciidoc 版 ...

  7. Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装

    Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装  一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装Virt ...

  8. CSAPP深入理解计算机系统(第二版)第三章家庭作业答案

    <深入理解计算机系统(第二版)>CSAPP 第三章 家庭作业 这一章介绍了AT&T的汇编指令 比较重要 本人完成了<深入理解计算机系统(第二版)>(以下简称CSAPP) ...

  9. Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...

随机推荐

  1. sublime总结

    自定义快捷键: preferences->key binding->user ctrl+d 删除行 ctrl+k 选中下一同名变量,alt+F3 选中全部同名变量 [ {"key ...

  2. matlab练习程序(碎片)

    这个算法是对photoshop中滤镜->像素化->碎片这个功能的学习. PS这个功能好像不带参数,不过我这里有滤波半径r可以进行控制. 因为我是看效果猜算法的,效果肯定有所区别. 我的想法 ...

  3. HDU 5807 Keep In Touch DP

    Keep In Touch Problem Description   There are n cities numbered with successive integers from 1 to n ...

  4. 【SSH】 之 Struts

    (一)什么是Struts,Struts是什么? Struts是学习轻量级J2EE框架所必须要了解的一个框架,也是我们当前最最流行的三大框架(SSH——Struts,Spring,Hibernate)之 ...

  5. 【java基础】选择排序and冒泡排序

    前言 : 今天学习的是J2SE视频里的第五章,数组部分,它里面留了一个经典的作业,就是让我们去从1倒9按一定规格排序,这让我想起了学习vb的时候最最让我头疼的两种排序方法,选择排序法 和 冒泡排序法. ...

  6. 对于JSP的调试

    在eclipse中调试JSP 我换了图片但是网页中的图片却不变化 我删了工程里的图片还是没用 看了一下Tomcat根目录..貌似也是没有的.. 最后我考虑换了HTML中图片的名字..并且更改了替换的图 ...

  7. flex模拟微信布局

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. 简单用DOM4J结合XPATH解析XML

    由于DOM4J在解析XML时只能一层一层解析,所以当XML文件层数过多时使用会很不方便,结合XPATH就可以直接获取到某个元素 使用dom4j支持xpath的操作的几种主要形式    第一种形式   ...

  9. 笑谈Android图表-MPAndroidChart

    MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活.MPA ...

  10. 阿里云Linux系统挂载数据盘

    Linux云服务器数据盘未做分区和格式化,我们可以根据以下步骤进行分区以及格式化操作. 目录 [隐藏]  1 查看数据盘 2 对数据盘进行分区 3 查看新的分区 4 格式化新分区 5 添加分区信息 6 ...