1. JavaScript有5种常用的数据类型: 字符串值(String), 数字(Number), 布尔值(Boolean), 数组(Array), 对象(Object)。

2. JavaScript有还有2种特殊的数据类型: 空(Null)、未定义(Undefined)。

3. JavaScript字符串

3.1. JavaScript字符串是引号中的零个或多个Unicode字符。

3.2. 字符串可以使用单引号或双引号:

var x = 'hello world';
var y = "hello world";

3.3. Java则是用双引号声明字符串, 用单引号声明字符。但是由于JavaScript没有字符类型, 所以可使用这两种表示法中的任何一种。

4. JavaScript数字

4.1. JavaScript只有一种数字类型(Number)。数字可以带小数点, 也可以不带。带小数点是浮点数, 不带小数点是整数。

4.2. 数字的取值范围: 5e-324 ~ 1.7976931348623157e+308 。

4.3. 特殊的数字类型: NaN(not a number)、Infinity(正无穷大)、-Infinity(负无穷大)。

4.4. 实例

var a = 100;
var b = 1.11;
var c = NaN;
var d = Infinity;
var e = -Infinity;

5. JavaScript布尔值

5.1. JavaScript布尔值只有两个值: true或false。

5.2. 实例

var x = true;
var y = false;

6. JavaScript数组

6.1. JavaScript数组用于在单一变量中存储多个值。

6.2. 创建数组最简单的方式是使用中括号[]包含项, 多个项用逗号分割。

6.3. 实例

var x = [];
var y = [0, true, 'hello world'];

6.4. 我们通过引用索引号(下标号)来引用某个数组元素。

6.5. 数组索引从0开始。[0]是数组中的第一个元素, [1]是第二个, 依此类推。

7. JavaScript对象

7.1. 创建对象最简单的方式是使用花括号{}包含项。

7.2. 在花括号内部是对象的属性, 属性以名称和值对的形式(name: value)来定义, 名称和值以冒号分割。

7.3. 在花括号内部的多个属性以逗号分割。

7.4. 实例

var x = {};
var y = {id: 100, name: 'zs', isMan: false};

8. Undefined类型

8.1. Undefined类型只有一个值, 即undefined。

8.2. undefined字面意思是未定义, 但是它却表示没有值的变量。即当声明的变量未初始化时, 该变量的默认值是undefined。

8.3. 下面这段代码, 第一行声明变量x, 没有初始值, 该变量将被赋予值undefined。第二行代码显示"true", 说明这两个值确实相等。

var x;
window.alert(x == undefined); //输出true

8.4. 值undefined并不同于未声明的变量。但是, typeof运算符并不真正区分这两种值。考虑下面的代码:

var x;
window.alert(typeof x);  //输出undefined
window.alert(typeof y);  //输出undefined

8.5. 上面的代码对两个变量输出的都是"undefined", 即使变量y从未被声明过。如果对y使用除typeof之外的其他运算符的话, 会引起错误, 因为其他运算符只能用于已声明的变量上。例如, 下面的代码将引发错误:

var x;
window.alert(y == undefined);

8.6. 当函数无明确返回值时, 返回的也是值"undefined", 如下所示:

function myFunc() { }
window.alert(myFunc() == undefined);  // 输出true

9. Null类型

9.1. Null类型也只有一个值, 即null。

9.2. null表示尚未存在的对象。

9.3. 其实undefined是从值null派生来的, 因此JavaScript把它们定义为相等的:

window.alert(null == undefined);  // 输出true

9.4. 尽管这两个值相等, 但它们的含义不同。undefined是声明了变量但未对其初始化时赋予该变量的值, null则用于表示尚未存在的对象。

9.5. 如果函数或方法要返回的是对象, 那么找不到该对象时, 返回的通常是null。

9.6. 可以通过将变量的值设置为null来清空对象。

9.7. 在JavaScript中, null的数据类型是对象。

10. 例子

10.1. 代码

<!DOCTYPE html>
<html>
<head><title>数据类型</title><meta charset="utf-8" />
</head>
<body><script type="text/javascript">var a, b = undefined;var c = null;var d = 'hello world';var e = 1, f = 3.14, g = NaN, h = Infinity, i = -Infinity;var j = true, k = false;var l = [100, true, 'zhangsan'];var m = {id: 1001, name: 'zs', isMan: true};document.write('a = ' + a + ', b = ' + b  + '<br />');document.write('c = ' + c + '<br />');document.write('(b == c) = ' + (b == c) + '<br />');document.write('d = ' + d +'<br />');document.write('e = ' + e + ', f = ' + f + ', g = ' + g + ', h = ' + h + ', i = ' + i + '<br />');document.write('j = ' + j + ', k = ' + k + '<br />');document.write('l =' + l + '<br />');document.write('m =' + m + '<br />');m = null;document.write('m =' + m + '<br />');</script>
</body>
</html>

10.2. 效果图

11. typeof运算符

11.1. 您可使用typeof运算符来确定JavaScript变量或表达式的类型。

11.2. typeof运算符把对象、数组或null返回object。

11.3. typeof运算符把函数返回function。

11.4. 例子

11.4.1. 代码

<!DOCTYPE html>
<html>
<head><title>typeof运算符</title><meta charset="utf-8" />
</head>
<body><script type="text/javascript">var a, b = undefined;var c = null;var d = 'hello world';var e = 1, f = 3.14, g = NaN, h = Infinity, i = -Infinity;var j = true, k = false;var l = [100, true, 'zhangsan'];var m = {id: 1001, name: 'zs', isMan: true};document.write('a =' + a + ', a的数据类型是: ' + typeof a + '<br />');document.write('b =' + b + ', b的数据类型是: ' + typeof b + '<br />');document.write('c =' + c + ', c的数据类型是: ' + typeof c + '<br />');document.write('d =' + d + ', d的数据类型是: ' + typeof d + '<br />');document.write('e =' + e + ', e的数据类型是: ' + typeof e + '<br />');document.write('f =' + f + ', f的数据类型是: ' + typeof f + '<br />');document.write('g =' + g + ', g的数据类型是: ' + typeof g + '<br />');document.write('h =' + h + '。 h的数据类型是: ' + typeof h + '<br />');document.write('i =' + i + ', i的数据类型是: ' + typeof i + '<br />');document.write('j =' + j + ', j的数据类型是: ' + typeof j + '<br />');document.write('k =' + k + ', k的数据类型是: ' + typeof k + '<br />');document.write('l =' + l + '。 l的数据类型是: ' + typeof l + '<br />');document.write('m =' + m + ', m的数据类型是: ' + typeof m + '<br />');function myFunction(){}document.write('myFunction =' + myFunction + ', myFunction的数据类型是: ' + typeof myFunction + '<br />');document.write('(' + f + ' + ' + e + ')表达式的数据类型是: ' + typeof (f + e));</script>
</body>
</html>

11.4.2. 效果图

12. JavaScript字面量

12.1. 字符串、数字包括NaN和Infinity和-Infinity、布尔、Null、Undefined都是字面量(没有使用new关键字创建对象的值)。

12.2. 字面量跟常量的意思差不多。

12.3. 实例

''
'你好'
0
3.14
NaN
Infinity
-Infinity
true
false
null
Undefined

13. JavaScript值

13.1. JavaScript有两种类型的值: 字面量值和变量值。

13.2. 实例

var x = 1;
var y = x + 3.14; // 算数运算, 使用了x这个变量值

011_JavaScript数据类型相关推荐

  1. Postman使用Date数据类型,Postman发送Date类型数据,Postman模拟前端调用

    Postman使用Date数据类型: 在form-data数据类型下,使用 2021/7/7 11:11:00 (yyyy/MM/dd HH:mm:ss) 的数据格式即可 如下: 在json数据格式中 ...

  2. 大数据中用到的新的数据类型bigint、decimal、smallint、tinyint

    在对比oracle数据库和大数据库的时候,发现了几个用以存放数字的新的类型bigint.decimal.smallint.tinyint,为了对比之间的不同,我进行了统计 bigint 可以精确的表示 ...

  3. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  4. 【JavaScript总结】JavaScript语法基础:数据类型

    ------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...

  5. 数据类型对应的字节数

    20210622 https://www.icode9.com/content-4-421680.html 32位和64位常用数据结构所占字节数 20210126 1 2 4 8 1248 刚好都是2 ...

  6. tensorflow2.0 基础一 常用数据类型及转换

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_43619065/arti ...

  7. 深入浅出Redis五种基本数据类型

    文章目录 1.String SDS(Simple Dynamic String) 2.RedisDB设计 3.List 4.Hash 5.Set intset 6.ZSet skiplist 1.St ...

  8. TVM自定义数据类型

    TVM自定义数据类型 本文将介绍"自定义数据类型"框架,该框架可在TVM中使用自定义数据类型. 介绍 在设计加速器时,关键是如何近似地表示硬件中的实数.这个问题具有长期的行业标准解 ...

  9. 自主数据类型:在TVM中启用自定义数据类型探索

    自主数据类型:在TVM中启用自定义数据类型探索 介绍 在设计加速器时,一个重要的决定是如何在硬件中近似地表示实数.这个问题有一个长期的行业标准解决方案:IEEE 754浮点标准.1.然而,当试图通过构 ...

最新文章

  1. python工作区是什么_VSCode工作区
  2. java Map及Map.Entry详解
  3. extjs5的grid垂直滚动条bug_Extjs grid panel 滚动条失效的解决方法
  4. sublimelinter-php 错误代码提示
  5. mixin network_基于Mixin Network的Go语言比特币开发教程 : 用 Mixin Messenger 机器人接受和发送比特币...
  6. 分布式是写出来的(三)
  7. 乐山市计算机学校的董事长是,乐山市计算机学校干部主题教育
  8. Struts2学习(四):Action执行的时候发生了什么
  9. centos 安装qrcode  二维码
  10. java来电报名字的软件_教你一招,手机来电话可以语音报出来电人的姓名和电话号码,收藏...
  11. lomboz连接mysql数据库_Lomboz如何配置Tomcat数据库连接池
  12. Invalid injected android support version ‘202.7660.26.42.7322048‘, expected to be of the form ‘w.x.y
  13. 办公室计算机如何互传文件,办公室电脑互联,打印机共享,方便快速的网内文件传输...
  14. 制作自己的openwrt刷机包_openwrt刷机教程
  15. O2O模式有发展前景吗 o2o怎么盈利?
  16. ctf之crypto练习二
  17. 这么炫酷的轮播图·你想学吗?
  18. 上传图片就能建模?!一个人人可用的在线三维大场景重建云平台
  19. Soul App聚焦Z世代社交需求 凭借2021亮眼表现荣获多个奖项
  20. 影楼管理系统需要用服务器吗,影楼发展不起来,不是管理者没有能力,而是这些原因...

热门文章

  1. 让IE兼容background-size的方法_background-size ie下使用
  2. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅
  3. 微信公众号接口权限表汇总
  4. Singleton Pattern (单例模式)
  5. CloudStack 的配置、部署与管理,以及 API 的使用
  6. 2013年1月21日记事
  7. 内存中的rank跟bank有什么区别
  8. 云机搭jdk1.8和apache-tomcat
  9. 论坛服务软件Discux_X3.4的部署
  10. Eclipse设置字符编码