JavaScript 基本数据类型

2023-12-04

JavaScript 基本数据类型

目录

JavaScript 基本数据类型

一、数字型(Number型)

1、整型数据

2、浮点型数据

二、字符串型

1、单引号括起来的一个或多个字符:

2、双引号括起来的一个或多个字符:

3、单引号定界的字符串中可以含有双引号:

4、双引号定界的字符串中可以含有单引号:

三、布尔型(Boolean型)


每一种计算机语言除了有自己的数据结构外,还具有自己所支持的数据类型。JavaScript跟传统编程语言不同,它采用的是弱数据方式,也就是说一个数据不必首先做声明,可以在使用或赋值时再确定其数据类型,当然也可以先声明该数据类型。

JavaScript数据类型有2大分类:一是“基本数据类型”,二是“特殊数据类型”。

其中,基本数据类型包括以下3种:

  • (1)数字型(Number型)
  • (2)字符串型(String型)
  • (3)布尔型(Boolean型)

特殊数据类型有3种:

  • (1)空值(null型)
  • (2)未定义值(undefined型)
  • (3)转义字符

我们这一节先来详细讲解JavaScript的基本数据类型。

一、数字型(Number型)

数字(Number)是最基本的数据类型。在JavaScript中,和其他程序设计语言(如C和Java)的不同之处在于,它并不区别整型数值(int)和浮点型数据(float)。在JavaScript中,所有的数字都是由浮点型表示的。

1、整型数据

整型数据指的是数据形式是十进制整数来的,整数可以为正数、0或负数。例如,“0、4、-5、1000”这些都是“整型数据”。

2、浮点型数据

整型数据指的是整数,没有小数的。浮点型数据是指带有小数的数据。

浮点数还可以使用指数法表示,即实数后跟随字母e或E,后面加上正负号,其后再加一个整型指数。这种计数法表示的数值等于前面的实数乘以10的指数次幂。

指数法表示的浮点数在实际开发中应用不多,大家看看就行了。

举例:

1.2
0.123
5.12e11   //表示5.12乘以10的11次方
8.24E-12  //表示8.24乘以10的-12次方

注:数字型还包括十六进制和八进制,因为本教程是面对零基础的初学者,因此不在此深入了解太多。对于这些计算机专业性的知识点,我们会直接跳过。

二、字符串型

字符串是由Unicode字符、数字、标点符号等组成的序列,它是JavaScript用来表示文本的数据类型。程序中的字符串型数据是包含在单引号或双引号中的,由单引号定界的字符串中可以含有双引号,由双引号定界的字符串中也可以含有单引号。

1、单引号括起来的一个或多个字符:

'我'

2、双引号括起来的一个或多个字符:

"咦"
"弄啥咧这是"

3、单引号定界的字符串中可以含有双引号:

'我是"helicopter"'

4、双引号定界的字符串中可以含有单引号:

"You can call me 'helicopter'"

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var str1="我爱'JavaScript'";//双引号中包含单引号
        var str2='我爱"JavaScript"'; //单引号中包含双引号
        var str3="我爱\"JavaScript\"";//双引号中包含双引号
        var str4='我爱\'JavaScript\''; //单引号中包含单引号
        document.write(str1+"<br/>");
        document.write(str2+"<br/>");
        document.write(str3+"<br/>");
        document.write(str4);
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

787e17dfdeff4ec08b59a66f5f150941.png

分析:

从上面代码执行结果我们可以看出,“单引号出现双引号”或“双引号出现单引号”时,不需要进行转义。但是,“单引号内出现单引号”或“双引号内出现双引号”则必须进行转义(转义字符,我们会在下一节“ JavaScript特殊数据类型 >http://www.manongjc.com/javascript/js_special_data_type.html ”中详细讲解)

三、布尔型(Boolean型)

数值型和浮点型的数据值都有无穷多个,但是布尔型数据类型只有2个:真(true)和假(false)。0可以看作false,1可以看做true。

布尔值通常在JavaScript程序中用来比较所得的结果,例如:

n= =1

这行代码测试了变量n的值是否和数值1相等。如果相等,比较的结果就是布尔值true,否则结果就是false。

布尔值通常用于JavaScript的控制结构(我们在后续章节会讲解到)。例如,JavaScript的“if……else语句”就是布尔值为true时执行一个动作,而在布尔值为false时执行另一个动作。例如:

if(n==1)
{
    n=n+1;
}
else
{
    n=n-1;
}

这段代码检测了n是否等于1。如果n等于1,则让n增加1;如果n不等于1,则让n减少1。

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var n1=Boolean("");//空字符串,返回false
        var n2=Boolean("a");//非空字符串,返回true
        var n3=Boolean(0);//数字0,返回false
        var n4=Boolean(1);//非0数字,返回true
        var n5=Boolean(-1);// 非0数字,返回true
        var n6=Boolean(null);//数值为null,返回false
        var n7=Boolean(undefined);//数值为undefined,返回false
        var n8=Boolean(new Object());//对象,返回true
        document.write("n1值为"+n1+"<br>");
        document.write("n2值为"+n2+"<br>");
        document.write("n3值为"+n3+"<br>");
        document.write("n4值为"+n4+"<br>");
        document.write("n5值为"+n5+"<br>");
        document.write("n6值为"+n6+"<br>");
        document.write("n7值为"+n7+"<br>");
        document.write("n8值为"+n8);
    </script>
</head>
<body>
<body>
</html>

在浏览器预览效果如下:

9cfcd21828904ca7a21abc0ce28306b2.png

分析:

对于有些代码,初学者看不懂没关系,待我们学了后续课程,再回来看就行了。曾经一位自学成才的诺贝尔奖获得者说过,自学的时候很多东西看不懂,我们不要着急,等到我们学了后面的知识再回来看看,很多东西就会恍然大悟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 基本数据类型 的相关文章

  • 如何在指令模板中使用动态 ng-show 值?

    我正在学习 Angular 并且尝试通过使用 Angular 指令来减少执行一些常见操作 例如显示错误消息 所需的代码 我想创建的一个指令是这样的
  • 如何将 div (或任何元素)覆盖在表格行 (tr) 上?

    我想在恰好有多个列的表行 tr 标记 上覆盖一个 div 或任何可以使用的元素 我尝试了几种方法 似乎都不起作用 我在下面发布了我当前的代码 我确实得到了一个覆盖 但不是直接覆盖在该行上 我尝试将覆盖顶部设置为 div Bottom css
  • 如何使弹出窗口出现在我的鼠标进入悬停目标的位置?

    这是一个示例代码 用于显示我的按钮下方的弹出窗口 fn popover defaults extend fn tooltip defaults placement bottom content 现在我希望弹出窗口出现在光标移动的位置 不仅是
  • 使用画布元素作为文本区域

    我正在寻找有关如何使用类似于文本区域的画布元素的直接描述 我见过这样的项目Ace http ace ajax org 只是想知道如何像文本区域一样写入该区域 只是纯文本 没有什么花哨的 提前致谢 Ace 曾经是 Mozilla Skywri
  • 向 JS 计算器添加键盘支持时出现的问题

    我想为我的计算器添加键盘支持 当我用键盘按下操作 即 或 时 js将其视为数字 而不是操作 例如 当我通过点击计算 10 11 时 我将得到 21 作为结果 当我通过键盘输入时 我会得到 10 为什么会发生这种情况 是否可以改变它 div
  • 将组件注册到现有的 Vue.js 实例

    我是 Vue js 新手 我想注册一个本地组件 如下所述 https v2 vuejs org v2 guide components html Local Registration https v2 vuejs org v2 guide
  • NodeJs读取JSON文件

    我正在使用 NodeJs 读取 json 文件 我的代码非常基本 var obj require sample json console log obj 0 Sample json 文件包含这样的字符串化 JSON sample good
  • 是否可以将自定义 HTML 添加到传单图层组和图层控件

    有什么方法可以将自定义 HTML 注入图层组和图层控件中吗 在我们的应用程序中 我们实现了滑块 输入 范围 来调整不透明度设置 并且很明显 在其控制容器内部的基础层上使用专用滑块是有意义的 没有选项或参数可以修改此控件 理想情况下 我们希望
  • Chrome 内存/垃圾收集问题

    我在使用 Chrome 时遇到内存 垃圾收集问题 我正在开发一个照片上传网站 该网站允许我的客户使用 HTML5 和文件 API 拖放照片进行上传 因此这在 IE 中不起作用 它仅适用于 Chrome 和 FF 我还没有在 Safari O
  • Strapi 未加载 Digital Ocean 上托管的现有 MongoDB 中的集合

    我正在使用 Strapi 创建一个新应用程序 并尝试将其与托管在 Digital Ocean 上的 MongoDB 连接 但不幸的是Strapi 无法从现有 MongoDB 获取集合 在这里 我提到我实现 Strapi 与现有 MongoD
  • 如何在启用导航栏的情况下打开新的浏览器窗口?

    我有这个JS方法 function OpenLink strDestination var features left 10 top 10 location 0 menubar 0 resizable 0 scrollbars 1 stat
  • 自 2012 年 6 月 12 日以来,“未定义”随机附加在我网站上 1% 的请求网址中

    自 2012 年 6 月 12 日 11 20 TU 起 我在我的 varnish apache 日志中看到非常奇怪的错误 有时 当用户请求一页时 几秒钟后我会看到类似的请求 但 url 中最后一个 之后的所有字符串已被 未定义 替换 例子
  • 将数组中的所有元素相乘

    我在这里找不到我真正想要的例子 我想将所有数组元素相乘 因此如果数组包含 1 2 3 总和将为 123 6 到目前为止 我已经得到了这段代码 但它返回未定义 function multiply array var sum 1 for var
  • 如何在服务器端按钮点击时关闭当前标签页?

    我尝试在确认后关闭当前选项卡 因此我将以下代码放在确认按钮的末尾 但选项卡没有关闭 string jScript ClientScript RegisterClientScriptBlock this GetType keyClientBl
  • 大型应用的回流/布局性能

    我正在使用 GWT 构建一个 HTML 应用程序 其性能总体上是正确的 有时 它会加载 DOM 中的许多对象 并且应用程序会变得很慢 我使用 Chrome 开发者工具分析器来查看时间花在哪里 在 Chrome 下 一旦应用程序被编译 即没有
  • 我可以在不使用 Jquery UI 的情况下获得 Jquery Pulsate Effect 吗?

    我遇到了由于某种原因无法使用 Jquery UI 的情况 我正在尝试在不使用 Jquery UI 的情况下获得 Jquery UI 脉冲效果 与此链接类似 http docs jquery com UI Effects Pulsate ht
  • Promise 构造函数回调的主体何时执行?

    假设我有以下代码构造一个Promise function doSomethingAsynchronous return new Promise resolve gt const result doSomeWork setTimeout gt
  • 如何仅突出显示嵌套表的最里面的表行?

    我有几个嵌套表 我想突出显示鼠标指针下方的最里面的行 我怎样才能做到这一点 一些提示 我使用嵌套表来显示递归表格数据 表可以嵌套 10 层 嵌套正如您所期望的那样 table tr td table tr td table tr td 可能
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • React 错误:目标容器不是 DOM 元素

    我刚刚开始使用 React 所以这可能是一个非常简单的错误 但我们开始吧 我的html代码非常简单 load staticfiles

随机推荐

  • 电商平台API接口调用演示案例,获取商品详情,按关键词搜索,拍立淘,商品评论销量商品类目,买家卖家订单接口等

    订单详情接口的作用主要体现在以下几个方面 获取订单信息 通过订单详情接口 可以获取到订单的详细信息 包括订单号 购买商品 数量 价格 运费等信息 方便商家对订单进行管理和查询 订单状态查询 通过订单详情接口 可以实时查询订单的状态 如已下单
  • HTTP方法GET、POST、PUT和PATCH的区别是什么

    请实现一个定时任务调度器 有很多任务 每个任务都有一个时间戳 任务会在该时间点开始执行 定时执行任务是一个很常见的需求 例如滴滴打车48小时后自动好评 淘宝购物 代码中的类名 方法名 参数名已经指定 请勿修改 直接返回方法规定的值即可 pa
  • Jmeter实现webservice接口测试

    其实可以用jmeter两种sampler进行webservice的测试 1 SOAP XML RPC Request 但是在jmeter3 2以后版本中已经取消了这个取样器 2 HTTP请求 下面分别介绍两种方式 一 首先需要使用soupU
  • Python+Requests对图片验证码的处理

    Requests对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入 而且每次登录时图片验证码都是随机的 当通过request做接口登录的时候要对图片验证码进行识别出图片中的字段 然后再登录接口中使用 通过request对图片验
  • 基于java的飞机大战游戏系统设计与实现

    基于java的飞机大战游戏系统设计与实现 I 引言 A 研究背景和动机 背景 随着现代游戏产业的不断发展 传统的飞行射击游戏已经无法满足玩家对新颖 刺激的需求 因此 设计一个基于Java的飞机大战游戏系统成为了游戏开发人员们的共同目标 动机
  • Unittest单元测试框架之unittest构建测试套件

    构建测试套件 在实际项目中 随着项目进度的开展 测试类会越来越多 可是直到现在我 们还只会一个一个的单独运行测试类 这在实际项目实践中肯定是不可行的 在 中可以通过测试套件来解决该问题 测试套件 Test Suite 是由多个测试用例 Te
  • Java电子招投标采购系统源码-适合于招标代理、政府采购、企业采购、等业务的企业

    项目说明 随着公司的快速发展 企业人员和经营规模不断壮大 公司对内部招采管理的提升提出了更高的要求 在企业里建立一个公平 公开 公正的采购环境 最大限度控制采购成本至关重要 符合国家电子招投标法律法规及相关规范 以及审计监督要求 通过电子化
  • 如何在工作中好好利用CHAT?

    问CHAT 智能微网和综合能源项目实施过程中存在的管理风险和应对措施 CHAT回复 在智能微网和综合能源项目实施过程中 可能存在的管理风险和应对措施主要有以下几个方面 1 技术风险 所使用的技术和设备可能还处在研发阶段 具有一定的不确定性
  • 牛客小白月赛82 解题报告 | 珂学家 | 状压容斥 + 动态开点线段树

    include
  • 江铃汽车热设计工程师岗面试给我留下了较好的体验,感觉很有诚意

    includeusing namespace std int main int n m k cin gt gt n gt gt m gt gt k 秋招快结束啦 不管有没有收获满意的 offer 都要准备好启程前往新的目的地了 租房是应届生
  • 使用Jmeter进行http接口性能测试

    在进行网页或应用程序后台接口开发时 一般要及时测试开发的接口能否正确接收和返回数据 对于单次测试 Postman插件是个不错的Http请求模拟工具 但是Postman只能模拟单客户端的单次请求 而对于模拟多用户并发等性能测试 就必须借助其他
  • 电商平台评论API接口,获取淘宝、天猫、京东、拼多多、小红书、抖音评论API接口调用演示案例

    评论API接口的作用主要体现在以下几个方面 获取商品评价信息 通过API接口 可以获取到淘宝等电商平台的商品评价信息 包括评价内容 评价时间 评价用户等 帮助商家了解用户对商品的评价情况 分析用户评价 通过API接口获取到的评价信息 可以进
  • JavaScript 数据结构

    JavaScript 数据结构 目录 JavaScript 数据结构 一 标识符 二 关键字 三 常量 四 变量 每一种计算机编程语言都有自己的数据结构 JavaScript脚本语言的数据结构包括 标识符 常量 变量 保留字等 一 标识符
  • 题解 | #试卷完成数同比2020年的增长率及排名变化#

    import mathn int input count 0 for i in range n 1 s pow i 2 include
  • 区块链交易平台服务器该怎么选

    区块链交易平台服务器该怎么选 随着互联网技术的发展 区块链也发展成为一种潮流 越来越多的人加入到区块链行业中来 尤其是区块链交易平台 但也有很多人不了解区块链对服务器的要求 那么我们就要好好说说搭建区块链交易平台服务器该怎么选 1 区块链交
  • 软件测试-测试用例案例及思维导图展示

    的测试用例 一个杯子的测试用例 一支笔的测试用例 朋友圈点赞的测试用例 功能测试 1点赞后是否显示结果 2 点赞后是否可以取消 3 点赞取消后是否可以重复点赞 4 共同好友点赞后 是否有消息提醒 5 非共同好友点赞后 是否有消息提醒 6 点
  • Python+Requests模块session处理和SSL证书处理&关闭警告

    session处理 部分接口需要先登录网址 才能有权限进行调用 这时可以使用到session 具体操作是 先使用网站 的登录api进行登录 得到session后 然后用该session来请求其它的接口 示例代码 session obj re
  • 获取员工其当前的薪水比其manager当前薪水还高的相关信息

    11月29日 财报大部分数据落在预期内甚至小超预期 11月30日 股价埋头下跌 这是最近评论区争论最厉害的中概股之一 美团 给下跌找理由和给上涨编故事的本质都是 首先 冒泡排序是什么 冒泡排序 Bubble Sort 是一种简单的排序算法
  • 如何利用CHAT 进行扩写?

    问CHAT 开发利用这些矿产资源的同时 我们也不能忽视环境保护的重要性 要以科学 合理 绿色环保的原则为指导 保护好帕米尔高原的生态环境 实现其可持续发展 以取得全局上的真正利益 按照以上文字进行简单扩写 CHAT回复 你好 以下是我对这段
  • JavaScript 基本数据类型

    JavaScript 基本数据类型 目录 JavaScript 基本数据类型 一 数字型 Number型 1 整型数据 2 浮点型数据 二 字符串型 1 单引号括起来的一个或多个字符 2 双引号括起来的一个或多个字符 3 单引号定界的字符串