JavaScript数据类型

一、数据类型分类

【1】值类型(基本类型): 字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined

【2】引用数据类型:对象(Object)、数组(Array)、函数(Function

二、类型详解

【1】字符串(String)

字符串是存储字符的变量。字符串可以是引号中的任意文本

var myName = "Demi";
var answer = "She is called 'Demi'"; // 字符串中使用引号,如果外层使用的双引号,那么里层使用单引号,反之亦然

【2】数组(Number)

Number类型包含整数和浮点数两种值

var num1 = 66.00;  // 浮点数
var num2 = 66;     // 整数

【3】布尔(Boolean)

表示真伪的两个特殊值,即 true(真)和 false(假),通常会用在if()条件语句中

var x = true; 
var y = false;

【4】空(Null)

null类型被看做空对象指针,即此处的值为空。可以通过将变量的值设置为 null 来清空变量。

var myName = "Demi";
myName = null; // 清空myName变量

【5】未定义【Undefined】

表示“未定义”或不存在,使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

var myName
console.log(myName) // undefined

【6】对象(Object)

对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

var test = {
   firstValue: 'Hello',
   lastValue: 'World!'
},

// 获取对象中的值的两种方式
var value1 = test.firstVlaue
var value2 = test['lastValue']

【7】数组(Array)

数组的每一项可以用来保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置保存数值,第三个位置保存对象....另外,数组的大小是可以动态调整的。

var cars=["Saab","Volvo","BMW"];

// 获取数组中的值
var value1 = cars[1] // 获取ars数组中下标c为1的值,下标从0开始计算

【8】函数(Function)

每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。

function sum(num1,num2){
  return num1 + num2;
};

var sun = function (){
  return sum1 + sum2;
};

// 函数调用 
  sun()

三、undefined和null的区别

【1】定义

  • undefined:是所有没有赋值变量的默认值,自动赋值。
  • null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址。

【2】共同点

  • nullundefined的值值相等都可以表示“没有”,含义非常相似。
  • if语句中,它们都会被自动转为false,相等运算符(==)甚至直接报告两者相等。

【3】不同点

  • 类型不同,null的类型是object,undefined的类型是undefined,全等运算符(===)值为false
  • undefined 表示变量声明过但并未赋过值,它是所有未赋值变量默认值。
  • null 表示一个变量将来可能指向一个对象,一般用于主动释放指向对象的引用。

【4】出现undefined场景

  • 变量声明了未赋值
  • 定义函数时有传参数,但是调用函数时没有提供参数,那么该参数等于undefined
  • 调用对象没有赋值的属性
  • 函数没有返回值时,默认返回undefined

【5】出现null场景

  • 手动设置变量的值或者对象的某一个属性值为null
  • js获取dom元素失败时,返回结果为null
  • Object.protype.proto的值为null
  • 正则捕获阶段,没有捕获到值返回null

四、typeof运算符判断数据类型

typeof 可以用来检测给定变量的数据类型,返回值是一个字符串,可能返回的值: number、string、boolean、object、 undefined、function

typeof 66             // number
typeof 'Demi'         // string
typeof false          // boolean
typeof null           // object 原因在于null类型被当做一个空对象引用。
typeof undefined      // undefined
typeof {}             // object 
typeof []             // object 在JavaScript内部,数组本质上是一种特殊的对象
function sum(){}
typeof sum            // function

文章每周持续更新,可以微信搜索「 前端大集锦 」第一时间阅读,回复【视频】【书籍】领取200G视频资料和30本PDF书籍资料

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Demi

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值