0

0

JavaScript数据类型的详细介绍

零下一度

零下一度

发布时间:2017-07-17 16:05:40

|

1327人浏览过

|

来源于php中文网

原创

1、基本数据类型和引用数据类型

  ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。

  基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。

  当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。

2、常见的基本数据类型:

立即学习Java免费学习笔记(深入)”;

  Number、String 、Boolean、Null和Undefined。基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值。示例:

  var a = 10;

  var b = a;

  b = 20;

  console.log(a); // 10值

  上面,b获取的是a值得一份拷贝,虽然,两个变量的值相等,但是两个变量保存了两个不同的基本数据类型值。

  b只是保存了a复制的一个副本。所以,b的改变,对a没有影响。

JS一共为我们定义了6中数据类型,分别是:undefinednullboolean(布尔)、number(数字)、string(字符串)、object(对象)。(ES6中定义了另外其他的数据类型)。其中前5中为简单数据类型、object为复杂数据类型

在理解每一种数据类型之前,我们说一下变量,在任何语言中变量都是存储信息的容器。比如:在数学中 x = 5;那x就是数字5的容器,x就是变量。在JS中使用var关键字定义一个变量。例如:var x = 5;

说到这里,我们就很好理解什么是数据类型了。在数学中数字还分为整数、小数、负数。。。等等好几种类型,每一种类型适合什么样的运算法则,都有明确的规定。那么在JS这门语言中,就定义了这6中数据类型,以及每种类型的使用规则和使用场景。接下来我们一一查看。

在讲每种类型之前我们先介绍一个js操作符:typeof    (用来检测变量的数据类型)。

var a; 

typeof(a);    //undefined

var b = 123;

typeof b ;  //number

上面的代码可以看出typeof的()是可选项。

undefined

只有一个值就是undefined;

那我们先来定义一个undefined的变量:

var a = undefined

我们知道undefined是未定义的意思,那这个变量有什么意义呢?其实undefined并不是用来定义一个变量,而是当变量未被初始化的时候,自动赋予undefined的值。例如:var a;这个时候a就被自动赋予undefined的值。

那为什么要这么做呢?我们想一想数学上当我们只写一个x的时候,我们能说这个x是整数或者小数或者负数吗?肯定不能吧!同样的道理,如果没有undefined这个数据类型,我们定义一个变量 var a;我们能说这个变量是数字?字符串?还是对象?肯定不能吧?现在有了undefined我们就可以说这个a是undefined类型的。这就是undefined数据类型的意义。

null

也只有一个值就是null;   

var b = null;

逻辑角度上看,null表示的是一个空指针对象。那null的用途是什么呢?我们可以用typeof null;发现返回的并不是null,而是object,呵呵 你个骗子你不是说typeof可以检测数据类型吗?其实这恰恰就能说明null的用途。如果我们定义一个变量将来准备保存对象。那我们最好将这个变量初始化为null。

在这里要另外提一点的是:undefined是派生自null值的。所以

undefined == null;    //true

boolean

有两个值,分别是:true和false;    

var  c = true;    

动力先锋仿阿里巴巴B2B电子商务系统
动力先锋仿阿里巴巴B2B电子商务系统

前台功能介绍:1、网页首页显示有高级会员推荐,精品推荐,商业机会分类列表,最新供求信息,网站动态,推荐企业,行业动态等;2、商业机会栏目功能有:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,并可以推荐公司,栏目分为分类显示信息,最新的采购、供应、合作和代理信息,搜索时同样按分类,信息,时间,交易类型等搜索;3、展厅展品栏目功能:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,

下载

var d = false;

虽然boolean类型只有两个值,但是js中所有的数据类型都可以和boolean值相互转换。转换规则如下:

                    数据类型                    true                                      false


                    string                      非空字符串                           空字符串


                    number             非0数字值(包括无穷大)          0/NaN


                     object                       任何对象                                null


                    undefined                   不适用                                undefined     


这些转换规则对于学习后面的流程控制语句将会非常重要。

number

这种类型表示数字: 

var f = 1234566;  

var g = 1.2356;

另外number类型还有一个特殊的值:NaN(非数值 Not a Number)

这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以0都会导致错误,从而停止代码执行。但在JavaScript中,任何数值除以0会返回NaN,因此不会影响其他代码的执行。

string

用这种类型表示字符串:

var s = "abcdef";

var t = "北京"

字符串可以有单引号(')或者双引号(")表示。只要变量是由单引号或者双引号表示的,那这个变量就是字符串。看下面几个例子:

var a = "true";    typeof a;    //"string"

var b = "5689";    typeof b;    //"string"

object

对象是一组数据和功能的集合

var o =new Object();

o.name="beijing";     //对象的属性

o.run = function(){};    //对象的方法

当你创建一个对象的时候,js会自动为这个对象实例添加下列默认属性和方法。

constructor——保存着用于创建当前对象的函数。

hasOwnProperty(propertyName)——用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty("name"))。

isPrototypeOf(object)——用于检查传入的对象是否是另一个对象的原型。

propertyIsEnumerable(propertyName)——用于检查给定的属性是否能够使用for-in语句来枚举。

toString()——返回对象的字符串表示。

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

以上就是js的6中基本数据类型,下一篇让我们来了解一下这6种数据类型之间的相互转化。

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

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

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

33

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

32

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

36

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

7

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

11

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php图片如何上传
php图片如何上传

本合集涵盖PHP图片上传的核心方法、安全处理及常见问题解决方案,适合初学者与进阶开发者。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.6万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号