JavaScript 特殊数据类型

JavaScript 特殊数据类型

目录

JavaScript 特殊数据类型

一、空值(null型)

二、未定义值(undefined型)

三、转义字符


 

 

JavaScript的特殊数据类型有3种:

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

这一节的知识点可能比较生涩难懂,不过没关系,对于初学者大家了解一下即可。

 

一、空值(null型)

整型、浮点型这些数据在定义的时候,系统都会分配一定的内存空间。JavaScript中的关键字null是一个特殊的值,它表示空值,系统没有给它分配内存空间(啊,非计算机专业的人理解比较困难,但是没关系哈,了解一下即可)。

如果试图引用一个没有定义的变量,则返回一个null值。这里要非常强调一点:null不等同于空的字符串("")或0,因为空的字符串("")或0是存在的,但是null表示其不存在的。

 

二、未定义值(undefined型)

如果一个变量虽然已经用var关键字声明了,但是并没有对这个变量进行赋值,而无法知道这个变量的数据类型,因此这个变量的数据类型是undefined,表示这是一个未定义数据类型的变量。

此外,JavaScript中有一种特殊类型的数字常量NaN,即“非数字”。当在程序中由于某种原因发生计算错误后,将产生一个没有意义的数字,此时JavaScript返回的数字值就是NaN。

null与undefined的区别是,null表示一个变量被赋予了一个空值,而undefined则表示该变量尚未被赋值。

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var name;
        document.write(name+"<br/>");
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

c3329bb052e04ba08b8d1c0637892172.png

三、转义字符

我们先看一段代码:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        document.write("JavaScript入门教程");
    </script>
</head>
<body>
</body>
</html>

 

document.write("绿叶学习网"JavaScript"入门教程");

咦?怎么回事?怎么在页面无法输出呢?其实大家仔细看一下上面语句,如果我们那样写,总共有4个引号,JavaScript怎么识别前后哪两个引号是一对的呢?为了避免这种情况出现,JavaScript引入了转义字符。

以反斜杠“\”开头的不可显示的特殊字符通常称为转义字符。通过转义字符可以在字符串中添加不可显示的特殊字符,或者防止引号匹配混乱的问题。

转义字符说明
\b退格
\n回车换行
\tTab符号
\f换页
\'单引号
\"双引号
\v跳格(Tab,水平)
\r换行
\\反斜杠
\OOO八进制整数,范围为000~777
\xHH十六进制整数,范围为00~FF
\uhhhh十六进制编码的Unicode字符

这张表列举了JavaScript常用的转义字符,根据个人的开发经验中,只需要记忆\n、\'、\"这3个就已经够初学者走很远了,其他的转义字符我们完全没必要去记忆,到时候需要的时候再回来查这张表就行了,大家别浪费脑细胞喔。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/202917.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Django 用户验证与权限管理详解

概要 Django是一款强大且灵活的Python Web框架&#xff0c;不仅在构建功能复杂的网站应用中表现出色&#xff0c;还在诸如用户验证、权限管理等细微之处提供了优秀的解决方案。在多用户、权限复杂的Web应用中&#xff0c;认证和权限管理尤其重要。接下来&#xff0c;我们就来探…

区间合并笔记

文章目录 什么是区间合并怎么做区间合并AcWing 803. 区间合并思路解析my - CODEdalao の CODE 什么是区间合并 区间合并是指给定多个区间&#xff0c;让你将重合的区间合并为一个区间 怎么做区间合并 区间合并类问题大多三个办法&#xff1a; 按左端点排序按右端点排序按左右…

虹科分享 | 平衡速度和优先级:为多样化的实时需求打造嵌入式网络(4)——从理论到实践:CANopen源代码配置

正如前文所述&#xff0c;CANopen的适应性在满足实时应用需求方面发挥着至关重要的作用。本系列文章的最后一部分将向您展示 CANopen 源代码配置的技术细节&#xff0c;以及实现高效实时性能的优化方法。 前文回顾&#xff1a; 虹科分享 | 平衡速度和优先级&#xff1a;为多样…

linux resin的安装

1. 下载安装包 1.1 下载地址&#xff1a;https://caucho.com/products/resin/download 这里我下载的是普通版本的resin&#xff0c;没有选resin pro 版本。 科普一下&#xff0c;从性能上来说 resin和resin pro 版本的性能没区别。 resin pro 版本的 和resin 普通版本的文件是…

Unity求向量A在平面L上的投影向量

如题&#xff1a;求向量A在平面L上的投影向量(图左) 即求 其实等价于求向量&#xff0c;那在中&#xff0c;,所以只需要求即可 而就是在平面L的法向量的投影坐标&#xff0c;所以代码就是 /// <summary>/// 求向量A在平面B上的投影向量/// </summary>/// <para…

EI级 | Matlab实现TCN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测

EI级 | Matlab实现TCN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测 目录 EI级 | Matlab实现TCN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【EI级】Matlab实现TCN-LSTM-Multihead-Attent…

java:IDEA中Maven常用操作

文章目录 背景1、Reload All Maven Projects:2、Generate Sources and Update Folders For All Projects:3、Download Sources and/or Documentation:4、Add Maven Projects5、Run Maven Build6、Execute Maven Goal7、Toggle Offline Mode8、Toggle Skip Tests Mode9、Collaps…

相机标定张正友、opencv和halcon对比(1)

本文将从基本标定开始&#xff0c;结合实际工作经验&#xff0c;分析张正友、opencv和halcon三者相机标定的深层原理与不同之处&#xff0c;内容比较多&#xff0c;如果出现错误请指正。 相机光学模型 我们使用的镜头都是由多组镜片组成&#xff0c;它实际上是一种厚透镜模型…

易基因:人精子H3K4me3 ChIP-seq和DNA甲基化WGBS揭示与生育和发育相关重叠区域

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 目前&#xff0c;六分之一的夫妇患有不孕不育&#xff0c;其中多达一半的病例由男性因素引起&#xff0c;在过去的40年中&#xff0c;精子数量下降了50%。尽管导致精子质量和数量下降的因…

Javase | Java常用类 (不断补充中...)

目录: 1.Object类2.String类3.StringBuffer类4.Math类5.Random类6.包装类(不断补充中...) 1.Object类 Object类是Java语言中的所有类的超类&#xff0c;即所有类的根。它中描述的所有方法&#xff0c;所有类都可以使用。 equals( ) : 指示其他某个对象与此对象“是否相等” (比…

【C/C++笔试练习】this指针的概念、初始化列表、const对象调用、构造和析构函数、继承和组合、重载和多态、虚函数的定义、计算日期到天数转换、幸运的袋子

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;this指针的概念&#xff08;2&#xff09;初始化列表&#xff08;3&#xff09;const对象调用&#xff08;4&#xff09;构造和析构函数&#xff08;5&#xff09;继承和组合&#xff08;6&#xff09;重载和多态&#x…

力扣 --- 三数之和

目录 题目描述&#xff1a; 思路描述&#xff1a; 代码&#xff1a; 提交结果&#xff1a; 官方代码&#xff1a; 官方提交结果&#xff1a; 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k…

implementation和api的区别是什么

前言&#xff1a; 平时在做开发的时候&#xff0c;各种依赖三方库。一般就是在build.gradle中添加如下代码&#xff1a; dependencies {implementation com.google.android.material:material:1.9.0 } 这里随便举个例子。 今天在开发的时候&#xff0c;遇到如下错误&#xf…

day32_Git

今日内容 零、 复习昨日 零、 复习昨日 一、引言 在单人开发过程中&#xff0c;需要进行版本管理&#xff0c;以利于开发进度的控制。 在多人开发过程中&#xff0c;不仅需要版本管理&#xff0c;还需要进行多人协同控制。 版本控制(VS) SVN GIT 二、介绍 Git是一个开源的…

vue3+vite搭建cesium项目

1.创建项目 cnpm create vite 2.安装依赖 npm i cesium vite-plugin-cesium vite -D 3.在vite.config.js里进行配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import cesium from vite-plugin-cesium; export default defineConfig({plugins…

vue项目运行时,报错:ValidationError: webpack Dev Server Invalid Options

在运行vue项目中&#xff0c;遇到报错&#xff1a;ValidationError: webpack Dev Server Invalid Options&#xff0c;如下图截图&#xff1a; 主要由于vue.config.js配置文件错误导致的&#xff0c;具体定位到proxy配置代理不能为空&#xff0c;导致运行项目报错&#xff0c;需…

Apache Flink(二):数据架构演变

&#x1f3e1; 个人主页&#xff1a;IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 &#x1f6a9; 私聊博主&#xff1a;加入大数据技术讨论群聊&#xff0c;获取更多大数据资料。 &#x1f514; 博主个人B栈地址&#xff1a;豹哥教你大数据的个人空间-豹…

CSS:calc() 函数 / 动态计算长度值 / 不同场景使用

一、理解 css calc() 函数 CSS calc() 函数是一个用于计算 CSS 属性值的函数。它可以在 CSS 属性值中使用数学表达式&#xff0c;从而实现动态计算属性值的效果。calc() 函数可以使用加减乘除四种基本数学运算符来计算属性值&#xff0c;还可以使用括号来改变优先级。 二、ca…

堆在排序中的应用

堆排序 1、堆排序原理 堆排序是利用到了堆这种数据结构&#xff0c;我们首先回顾一下二叉堆的特性&#xff1a; 最大堆的堆顶是整个堆中的最大元素。最小堆的堆顶是整个堆中的最小元素。 以最大堆为例&#xff0c;如果删除一个最大堆的堆顶&#xff08;并不是完全删除&…

【MATLAB】RLMD分解+FFT+HHT组合算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 RLMD分解FFTHHT组合算法是一种强大的分析方法&#xff0c;结合了局部均值分解&#xff08;LMD&#xff09;、快速傅里叶变换&#xff08;FFT&#xff09;和希尔伯特-黄变换&#xff08;H…