js-中的数据类型

9次阅读

共计 628 个字符,预计需要花费 2 分钟才能阅读完成。

基本类型

主要有:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)、Symbol

  • undefined

在使用 var,let,const 声明变量但未对其加以初始化时,这个变量的值就是 undefined

注意点:

  1. undefined 是一种类型 区别于 “undefined”

  2. 番外:作用域是一套规则,用于确定在何处以及如何查找变量(标识符)。如果查找的目的是对变量进行赋值,那么就会使用 LHS 查询;如果目的是获取变量的值,就会使用 RHS 查询。RHS 查询找到了一个变量,但是你尝试对这个变量的值进行不合理的操作,比如试图对一个非函数类型的值进行函数调用,或着引用 null 或 undefined 类型的值中的属性,那么引擎会抛出另外一种类型的异常,叫作 TypeError。ReferenceError 同作用域判别失败相关,而 TypeError 则代表作用域判别成功了,但是对结果的操作是非法或不合理的。来自 –《你不知道的 JS》
  3. 对未初始化和未声明的变量执行 typeof 操作符都返回了 undefined 值;
  • null

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

注意点 *undefined 与 null 的关系

== 操作符会进行隐式转换   \ === 不会 
  • Boolean

注意点:

  • Number

正文完
 0

JS中的数据类型

9次阅读

共计 1222 个字符,预计需要花费 4 分钟才能阅读完成。

什么是数据类型计算机的本质是计算计算的本质是对值进行操作参与计算的值和计算的结果统称为数据把数据分门别类的归纳出来就是数据类型
JS 中的数据类型 6 + 1 种基本数据类型:数字(Number)真假(Boolean)字符串(String)空(Null undefined)ES6 新增数据类型(Symbol)复杂数据类型:对象(Object)
什么是对象●除基本数据类型之外的数据都是对象,由属性组成的无序的数据集合 EXP:
美女 ={
姓名:xxx(字符串)
年龄:30(数字)
是否知名:是(布尔)
生日:undefined(空)
三围:{
胸围:111
腰围:111(对象)
臀围:111
}
}

表现区别 1. 对象对应的变量保存的是内存地址的引用,基本数据类型对应的变量保存的是值 2. 对象是可以改变的,基本数据类型是不可改变的 3. 对象可以使用属性和方法,基本数据类型不可以使用属性和方法本质区别基础数据类型占用固定的内存,保存在栈中,对象占用不固定的内存保存在堆中
数据类型的检测●使用 typeoftypeof 和 + – 一样,是运算符,可以使用括号也可以不使用括号 EXP:
var a=true,b=true;
console.log(typeof a==b) //false

typeof 的返回值 1. 返回值是字符串类型 2. 包括 number string boolean undefined object function 3. 多了 function 少了 null4.typeof null 返回值是 object(本质原因:typeof 是将数据转换成二进制进行判断,如果转换后的结果是 000 开头那么他就是对象,但是 null 转换成二进制后的结果是 0000)
JS 的动态性 JS 是动态语言,只有当值参与计算的时候才去判断值的类型类似的还包括 python、ruby JAVA、C++ 属于静态语言,在赋值的时候就确定了数据类型
undefined 和 null 的区别在 ES3 之前是没有 undefined 这个值的,ES3 标准中新添加的
相同点 1. 都只有一个值——空 2. 参与判断的时候都返回 false3. 都不可以访问属性和调用方法
不同点 1.null 是关键字,undefined 不是关键字 2.unll 是对象但是值为空,undefined 的本质是全局对象的属性,这个属性的值叫做“未定义”3.null 是已经初始化的,undefined 是未初始化的 4. 使用 typeof 返回的结果一个是 object 一个是 undefined
如何使用 1. 声明一个变量并且一定需要赋值的时候使用 null2. 检测某个值是否存在的时候使用 ===undefined(全等)3. 检测某个值是否为空的时候使用 ===null(全等)4. 判断某个值是否存在或者为空的时候使用 ==null(相等 )
空赋值的应用 1. 在函数的开头使用 var undefined 来提升查找速度 2. 在声明一个指向对象的变量或者属性的时候使用 var xxxx=null 或者 xxx:null
《JS 中的数据类型》提取码 smke

正文完
 0