目录
一、区分大小写
二、标识符
三、注释
四、语句
五、变量
数据类型
typeof操作符
Undefined类型
Null类型
Boolean类型
Number类型
NaN
String类型
字符字面量
字符串的特点
Object类型
Object的每个实例都具有以下下列属性和方法:
首页 web前端 前端问答 详细解析JavaScript中的六大基本数据类型

详细解析JavaScript中的六大基本数据类型

Dec 29, 2021 pm 06:16 PM
javascript

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

详细解析JavaScript中的六大基本数据类型

一、区分大小写

在JavaScript中,所有的一切(变量、函数和操作符)都区分大小写。这也就意味着,变量名test和变量名Test分别表示两个不同的变量。

二、标识符

所谓的表示标识符,就是指变量、函数名和操作符,或者函数的参数。标志符的格式规则如下:

1、第一个字符必须是一个字符、下划线(_)或者一个美元符号($);

2、其他的字符可以是字母、下划线、美元符号和数字;

按照惯例,JavaScript的标识符采用小驼峰书写格式,也就是打开一个字母小写,剩下的单词的首字母大写。例如:firstChirld、myCar;

当然,标识符采用小驼峰书写格式不是强制要求,但是可以便于我们理解代码,在书写时尽量用小驼峰书写格式,便于别人理解你的代码。

三、注释

JavaScript中的注释方法分为单行注释和多行注释:
单行注释:

//这是一个单行注释
登录后复制

多行注释:

/*
*这是一个
*多行注释
*/
登录后复制

四、语句

在JavaScript中,语句都是以一个分号结尾;如果省略分号,则由解释器去确定结尾。如下例所示:

var sum = a + b			//即使没有分号也是有效语句——不推荐
var diff = a - b;		//有效语句——推荐
登录后复制

五、变量

JavaScript中的变量类型是弱类型的,所谓弱类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。
定义变量时用var关键字,后面跟变量名(即标识符)。如下所示:

var  message;
登录后复制

JavaScript也支持直接初始化变量,因此在定义变量的同时就可以设置变量的值。如下所示:

var message = "Hello world!";
登录后复制

有一点必须注意,即用var关键字定义的变量将成为定义该变量的作用域中的局部变量。也就是说,如果函数中使用var定义一个变量,那么这个变量在函数运行结束后就会被销毁。例如:

function test(){
	var message = "Hello";		//局部变量
}
test();
console.log(message);		//错误!
登录后复制

出现错误的原因是,变量message是在函数test()中使用var定义的。当函数被调用时,就会创建变量并为其赋值。而在此之后,这个变量会立即销毁,因此,例子中的下一行代码就会导致错误。不过,可以像下面这样省略关键字var,从而创建一个全局变量:

function  test(){
	message = "Hello";			//全局变量
}
test();
console.log(message);			//"Hello"
登录后复制

在这里省略了关键字var,message就变成了全局变量。这样,只要调用一次test()函数,这个变量就被定义了,全局变量被定以后,就可以在函数外部的任何地方都可以被访问到。
虽然省略关键字var可以定义全局变量,但是不建议这样做,因为在局部作用域中定义的全局变量很难维护;

数据类型

JavaScript中有几种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还要一种复杂类型——Object,Object本质是一组无序的名值对组成。JavaScript中不支持任何创建自定义的类型的机制,而所有值都是这6种数据类型之一。

typeof操作符

由于JavaScript是弱类型的,因此需要有一种手段来检测给定变量的数据类型——typeof就是一个负责检测给定变量的数据类型的操作符。对一个值使用typeof操作符可能返回下列某个字符串:

  • “undefined”——如果这个值未定义;

  • “boolean”——如果这个值是布尔类型;

  • “string”——如果这个值是字符串;

  • “number”——如果这个值是数字;

  • “object”——如果这个值是对象或null;

  • “function”——如果这个值是函数;

下面是使用typeof操作符的几个例子:

var message = "hello";
console.log(typeof message);			//"string"
console.log(typeof(message));			//"string"
console.log(typeof 95);					//"number"
登录后复制

typeof操作符的操作数可以是变量,也可以是数值字面量。注意,typeof不是函数,因此此例中的圆括号尽管可以使用,但是不是必需的。
在JavaScript中,函数是一种对象,不是一种数据类型,因此使用typeof来区分函数和其他对象是必要的。

Undefined类型

undefined类型只有一个值,即特殊的undefined。在使用var声明变量但对其未加以初始化时,这个变量的值就是undefined。例如:

var message;
console.log(message  == undefined);		//true
var message1 = "undefined";
console.log(message1 == undefined);			//true
登录后复制

然而,令人困惑的一点是:对未初始化的变量执行typeof操作符会返回undefined值,而对未声明的比变量执行typeof操作符同样也会返回undefined值。来看下面的例子:

var message;			//这个变量声明之后默认取得了undefined值
//下面这个变量并没有声明
//var age;
console.log(typeof message);		//"undefined"
console.log(typeof age);			//"undefined"
登录后复制

为初始化的变量和为声明的变量都返回了undefined,这个结果有其逻辑上的合理性。因为这两种变量从技术角度上有本质的区别,但实际上无论对那种变量也不可能执行真正的操作,

Null类型

Null类型是第二个只有一个值得类型,这个特殊的值是null。从逻辑的角度来看,null值表示一个对象的空指针,而这也正是使用typeof操作符的检测null值时会返回“object”的原因,如下面的例子所示:

var message= null;		
console.log(message);		//"object"
登录后复制

如果定义的对象将来用来保存对象,那么最好将这个变量初始化为null而不是其他的值。这样一来,只要直接检查null值就可以直接知道相应的变量是否已经保存了一个对象的引用,如下面的例子:

if(message != null){
	//对message进行一系列的操作
}
登录后复制

实际上,undefined的值是派生自null值得,所以对它们进行相等性测试的时候要返回true:

console.log(null == undefined);		//true
登录后复制

在这里,位于null和undefined之间的相等操作符(==)总是返回true。尽管null和undefined有这样的关系,但它们的的用途完全不同。如上面所述,无论在什么情况下,都没有必要把一个变量显示的表示为undefined,可是同样的规则对null却不适用。换句话说,只有保存对象的变量还没有真正的保存对象,就应该在明确地表示将该变量保存为null值。这样做不仅可以体现null值作为空指针的惯例,而且也有助于进一步的区分null和undefined。

Boolean类型

Boolean类型是JavaScript中使用最多的一种类型,该类型只有两个字面值:true和false。这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0。以下是为变量赋值的例子:

var first = true;
var second = false;
登录后复制

需要注意的是,boolean类型的两个值区分大小写。也就是说True和true、False和false不是一回事。
True和False(以及其他混合大小形式)只是标识符,不是boolean值。
虽然boolean值只有两个值,但是JavaScript所有类型的值都有与这两个boolean值等价的值。要将一个值转换为相应的Boolean值,可以调用Boolean()函数。例如:

	var message = "Hello world!";
	var messageAsBoolean = Boolean(message);
	console.log(messageAsBoolean);		//true
登录后复制

可以对任何类型的值调用Boolean()函数,而且总会返回一个boolean值。至于返回的是true还是false取决于要转换的实际类型及其实际值。下表给出了各种数据类型对其转换的相应规则:

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 “”(空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined

Number类型

在JavaScript中number类型定义了不同的数值字面量格式。例如:

	var  intNumber = 55;		//十进制整数
	var octalNum1 = 070;		//八进制的56
	var octaNum2 = 079;			//无效的八进制数,解析为79
	var octaNum3 =  08;			//无效的八进制数,解析为8
	var hexNum1 = 0xA;			//十六进制的10
	var hexNum2 = 0x1f;			//十六进制的31
登录后复制

在进行算术计算时,所有八进制和十六进制表示的数值都会转换成十进制数值。

NaN

NaN即非数值,是一个特殊的数值。这个数用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。NaN本身有两个特点:
首先,任何涉及NaN的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。
其次,NaN与任何值都不相等,包括NaN本身。例如:

console.log(NaN ==NaN );		//false
登录后复制

String类型

string类型用于表示零或多个Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(’)表示,因此下面两种写法都是有效的:

var firstName = "王文正";
var secondName = "王彬";
登录后复制

双引号开头的必须以双引号结尾,而当引号开头的必须以单引号结尾。下面这种会导致语法错误:

var name = "王彬';		//语法错误
登录后复制
字符字面量

String类型中包含了一些特殊字面量,也叫转义序列,用于表示非打印字符,或者有其他的用途的字符。这些字符字面量如下表所示:

字面量 含义
\n 换行
\t 制表
\b 退格
\r 回车
\f 进纸
\ 斜杠
单引号
" 双引号
\xnn 以十六进制代码nn表示一个字符
\unnn 以十六进制代码nnn表示一个Unicode字符
字符串的特点

JavaScript中的字符串是不可变的,也就是说,字符串一旦创建,它的值就是不可更改的。要更改某个变量中保存的字符串,首先要销毁原来的字符串,然后用另一个包含新值得字符串填充变量,例如:

var lang = "java";
lang = lang + "script";
console.log(lang);		//javascript
登录后复制

Object类型

JavaScript中的对象是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型名称来创建。而创建Object类型的实例并为其添加属性或方法,就可以创建自定义对象。如下所示:

var o = new Object();
var  o = new Object;		//有效,但是不推荐这种做法;
登录后复制
Object的每个实例都具有以下下列属性和方法:
  • constructor:保存着用于创建当期那对象的函数。

  • hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是实际的原型中)是否存在。

  • isPrototypeOf(object):用于检查传入的对象那个是否是当前对象的原型。

  • propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句

  • toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应

  • valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同

  • toString():返回对象的字符串表示

  • 由于在JavaScript中Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法。

【相关推荐:javascript学习教程

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热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

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1671
14
CakePHP 教程
1428
52
Laravel 教程
1331
25
PHP教程
1276
29
C# 教程
1256
24
如何使用WebSocket和JavaScript实现在线语音识别系统 如何使用WebSocket和JavaScript实现在线语音识别系统 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术 WebSocket与JavaScript:实现实时监控系统的关键技术 Dec 17, 2023 pm 05:30 PM

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何利用JavaScript和WebSocket实现实时在线点餐系统 如何利用JavaScript和WebSocket实现实时在线点餐系统 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

如何使用WebSocket和JavaScript实现在线预约系统 如何使用WebSocket和JavaScript实现在线预约系统 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

javascript中如何使用insertBefore javascript中如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

如何在JavaScript中获取HTTP状态码的简单方法 如何在JavaScript中获取HTTP状态码的简单方法 Jan 05, 2024 pm 01:37 PM

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务

See all articles