搜索
首页web前端前端问答你必须了解的JavaScript基本数据类型

本篇文章给大家带来了关于JavaScript中基本数据类型的相关知识,希望对大家有帮助。

你必须了解的JavaScript基本数据类型

JavaScript是弱类型脚本语言,声明变量时无需指定变量的数据类型。JavaScript变量的数据类型是解释时动态决定的。但是JavaScript的值保存在内存中,也是数据类型的。JavaScript基本数据类型有如下五个

(1)数值类型

(2)布尔类型

(3)字符串类型

(4)Undefined类型

(5)Null类型

1. 数值类型

与强类型语言如CJava不同,JavaScript的数值类型不仅包括所有的整形变量,也包括所有的浮点型变量。JavaScript语言中的数值都是以IEEE 754双精度浮点数格式保存。JavaScript中的数值形势非常丰富,完全支持用科学计数法表示。科学计数法形如5.12e2代表5.12乘以102次方,5.12E2也代表5.12乘以102次方。

科学计数法中E为间隔符号,E不区分大小写。

<script type="text/javascript">
	// 显式声明变量a , b
	var a , b;
	// 给a , b使用科学记数法赋值,其值应该为500
	a = 5E2;
	b = 1.23e-3;
	// 使用警告提示框输出变量a的值
	alert(a + "\n" + b);
</script>


注意:数值直接量不要以0开头。因为JavaScript支持八进制和十六进制。八进制以0开头,十六进制以0x或0X开头。

当数值类型超出了其表述范围时,将出现两个特殊值:Infinity(正无穷大)和-Infinity(负无穷大。)

<script type="text/javascript">
	// 定义x为最大的数值
	var x = 1.7976931348623157e308; 
	// 再次增加x的值
	x = x + 1e292;
	// 使用警告框输出x的值
	alert(x);
</script>


2. 字符串类型

JavaScript的子串富川必须用引号括起来,此处的引号既可以是单引号,也可以是双引号。

 var a = "12345678912aaa";
 var a = '12345678912aaa';

注意:JavaScriptJava中的字符串主要有两点区别:

  • (1)JavaScript中的字符串可以用单引号括起来;

  • (2)JavaScript中比较两个字符串的字符序列是否相等使用 == 即可,无需使用equals()方法。

JavaScriptString内建类表示字符串,String类里包含了一系列方法操作字符串,String类有如下基本方法和属性操作字符串:

(1)charCodeAt() :返回字符串中特定索引处的字符所对应的Unicode值

(2)Legth():返回字符串的长度

(3)toUpperCase() : 将stringObj中的小写字母全部转成大写字母

(4)toLowerCase() :将stringObj中的大写字母全部转成小写字母

(5)fromCharCode() :直接通过String类调用方法,将一系列Unicode值转换成字符串

(6)indexOf() :返回字符串第一次出现的位置

(7)lastIndexOf() :返回字符串最后一次出现的位置

(8)subString() :截取stringObj从start开始,至end为止之前的所有字符,即包括start处的字符,但不包含end处的字符

(9)slice() :截取stringObj从start开始,到end为止之前的所有字符;即包括start处的字符,但不包括end处的字符。start与end均可为负值,当为负值时,表示从最后一个字符算起的第n个字符,比如-1表示最后一个字符,-2表示倒数第二个字符。

(10)match() :在字符串内检索指定的正则表达式的匹配结果,该结果与regexp是否有指定全局标志g有关

(11)split() :将separtor为为分隔,将stringObj分割成一个字符串数组。separator可以是字符串或者正则表达式,若为字符串,则以separator为分割符;弱separator为正则表达式,则以符合separator指定模式的字符串作为分隔符。

(12)replace() :将字符串中某个子串以特定字符串替代。

<script type="text/javascript">
	// 定义字符串变量a
	var a = "abc中国";
	// 获取a的长度
	var b = a.length;
	// 将系列的Unicode值转换成字符串
	var c = String.fromCharCode(97,98,99);
	// 输出a的长度,以及字符串a在索引4处的字符和
	// 对应的Unicode值,以及c字符串变量的值
	alert(b + "---" + a.charAt(4) + "---"
		+ a.charCodeAt(4) + "---" + c);
</script>


下面是一些常用的转义字符

转义字符

使用说明

0

 

NUL 字符(\u0000)

1

\b

后退一格(Backspace)退格符(\u0008)

2

\f

换页(Form Feed)(\u000C)

3

\n

换行(New Line)(\u000A)

4

\r

回车(Carriage Return)(     \u000D)    

5

\t

制表(Tab)水平制表符(\u0009)

6

\'

单引号(\u0027)

7

\"

双引号(\u0022)

8

\\

反斜线(Backslash)(\u005C)

9

\v

垂直制表符(\u000B)

10

\xNN

由两位十六进制数值NN指定的Latin-1字符

11

\uNNNNN

由四位十六进制数     NNNN指定的Unicode字符    

12

\NNN

由一位到三位八进制数(1到377)指定的Latin-1字符。

ECMAScript v3不支持,不要使用这种转义序列

3. 布尔类型

布尔类型的值只有两个:truefalse。布尔类型的值通常是逻辑运算的结果,或用于标志对象的某种状态。

<script type="text/javascript">
	// 如果浏览器支持Cookie
	if (navigator.cookieEnabled) 
	{
		alert("浏览器允许使用Cookie");
	}
	// 如果浏览器不支持Cookie
	else
	{
		alert("浏览器禁用Cookie");
	}
</script>


4. Undefined null

Undefined类型的值只有一个undefined,该值用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在。null用于表示变量的值为空。Undefinednull之间的差别比较微妙,总体而言,undefined表示没有为变量设置值或属性不存在,而null表示变量是有值的,只是为其值为null

但如果不进行精确比较,很多时候undefinednull本身就想等,即null==undefined将返回true。如果要精确区分nullundefined,应该考虑使用精确等于符(===

<script type="text/javascript">
	// 声明变量x , y
	var x , y = null;
	// 判断x的值是否为空
	if (x === undefined) 
	{
		alert('声明变量后默认值为undefined');
	}
	if (x === null)
	{
		alert('声明变量后默认值为null');
	}
	// 判断x(其值为undefined)是否与y(其值为null)相等
	if (x == y) 
	{
		alert("x(undefined)==y(null)");
	}
	// 测试一个并不存在的属性
	if(String.xyz === undefined)
	{
		alert("不存在的属性值默认为undefined");
	}
</script>

5. 正则表达式

正则表达式的本质是一种特殊的字符串,这种特殊字符允许使用“通配符”,因此一个正则表达式字符串可以匹配一批普通字符串。

元字符         名称              匹配对象

  • .             点号              单个任意字符(除回车\r、换行\n、行分隔符\u2028和段分隔符\u2029外)

  • []            字符组             列出的单个任意字符

  • [^]           排除型字符组        未列出的单个任意字符

  • ?             问号               匹配0次或1次

  • *             星号               匹配0交或多次

  • +             加号               匹配1次或多次

  • {min,max}     区间量词           匹配至少min次,最多max次

  • ^             脱字符             行的起始位置

  • $             美元符             行的结束位置

  • |             竖线               分隔两边的任意一个表达式

  • ()            括号               限制多选结构的范围,标注量词作用的元素,为反向引用捕获文本

  • \1,\2...      反向引用            匹配之前的第一、第二...组括号内的表达式匹配的文本

\0        NUL字符\u0000
[\b]      匹配退格符\u0008,不要与\b混淆
\t        制表符\u0009
\n        换行符\u000A
\v        垂直制表符\u000B
\f        换页符\u000C
\r        回车符\u000D
\xnn      由十六进制数nn指定的拉丁字符
\uxxxx    由十六进制数xxxx指定的Unicode字符(\u4e00-\u9fa5代表中文)  
\cX       控制字符^X,表示ctrl-[X],其中的X是A-Z之中任一个英文字母,用来匹配控制字符
{n}       匹配n次
{n,m}     匹配至少n次,最多m次
{n,}      匹配至少n次
?         相当于{0,1}
*         相当于{0,}
+         相当于{1,}

【相关推荐:javascript学习教程

以上是你必须了解的JavaScript基本数据类型的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除
HTML和React的集成:实用指南HTML和React的集成:实用指南Apr 21, 2025 am 12:16 AM

HTML与React可以通过JSX无缝整合,构建高效的用户界面。1)使用JSX嵌入HTML元素,2)利用虚拟DOM优化渲染性能,3)通过组件化管理和渲染HTML结构。这种整合方式不仅直观,还能提升应用性能。

React和HTML:渲染数据和处理事件React和HTML:渲染数据和处理事件Apr 20, 2025 am 12:21 AM

React通过state和props高效渲染数据,并通过合成事件系统处理用户事件。1)使用useState管理状态,如计数器示例。2)事件处理通过在JSX中添加函数实现,如按钮点击。3)渲染列表需使用key属性,如TodoList组件。4)表单处理需使用useState和e.preventDefault(),如Form组件。

后端连接:反应如何与服务器互动后端连接:反应如何与服务器互动Apr 20, 2025 am 12:19 AM

React通过HTTP请求与服务器交互,实现数据的获取、发送、更新和删除。1)用户操作触发事件,2)发起HTTP请求,3)处理服务器响应,4)更新组件状态并重新渲染。

反应:专注于用户界面(前端)反应:专注于用户界面(前端)Apr 20, 2025 am 12:18 AM

React是一种用于构建用户界面的JavaScript库,通过组件化开发和虚拟DOM提高效率。1.组件与JSX:使用JSX语法定义组件,增强代码直观性和质量。2.虚拟DOM与渲染:通过虚拟DOM和diff算法优化渲染性能。3.状态管理与Hooks:Hooks如useState和useEffect简化状态管理和副作用处理。4.使用示例:从基本表单到高级的全局状态管理,使用ContextAPI。5.常见错误与调试:避免状态管理不当和组件更新问题,使用ReactDevTools调试。6.性能优化与最佳

React的角色:前端还是后端?澄清区别React的角色:前端还是后端?澄清区别Apr 20, 2025 am 12:15 AM

reactisafrontendlibrary,focusedonBuildingUserInterfaces.itmanagesuistateandupdatesefficefited fichifited firstualdom,以及EnternactSwithBackendServensEvesviaApisforDataHandling,butdoesnotprocessorsorstoredordordoredaiteffers。

在HTML中进行反应:构建交互式用户界面在HTML中进行反应:构建交互式用户界面Apr 20, 2025 am 12:05 AM

React可以嵌入到HTML中来增强或完全重写传统的HTML页面。1)使用React的基本步骤包括在HTML中添加一个根div,并通过ReactDOM.render()渲染React组件。2)更高级的应用包括使用useState管理状态和实现复杂的UI交互,如计数器和待办事项列表。3)优化和最佳实践包括代码分割、惰性加载和使用React.memo和useMemo来提高性能。通过这些方法,开发者可以利用React的强大功能来构建动态和响应迅速的用户界面。

反应:现代前端发展基础反应:现代前端发展基础Apr 19, 2025 am 12:23 AM

React是构建现代前端应用的JavaScript库。1.它采用组件化和虚拟DOM优化性能。2.组件使用JSX定义,状态和属性管理数据。3.Hooks简化生命周期管理。4.使用ContextAPI管理全局状态。5.常见错误需调试状态更新和生命周期。6.优化技巧包括Memoization、代码拆分和虚拟滚动。

React的未来:Web开发的趋势和创新React的未来:Web开发的趋势和创新Apr 19, 2025 am 12:22 AM

React的未来将专注于组件化开发的极致、性能优化和与其他技术栈的深度集成。1)React将进一步简化组件的创建和管理,推动组件化开发的极致。2)性能优化将成为重点,特别是在大型应用中的表现。3)React将与GraphQL和TypeScript等技术深度集成,提升开发体验。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)