javascript的变量类型有两种,基本类型和引用类型

JavaScript的变量具有动态性的特性,就决定了变量只是用于保存该特定的值的名字

JavaScript中有两种,基本类型值和引用类型值

基本数据类型有数字,字符串,布尔值,null,undefined,(es6中加入了个symbol)

基本类型是按值访问,可以直接操作保存在变量中的值

基本类型值是简单的数据段,而引用类型是指由多个值组成的对象

因为基本类型是按值访问的,所以可以操控保存在变量的值

引用类型的值是保存在内存中的对象,JavaScript不允许直接访问内存中的位置

操控对象,其实就是在操控对象的引用,而不是对象本身


JavaScript的逻辑运算

JavaScript的任何数据类型都能转换为布尔类型

< 小于
> 大于
<= 小于或者等于
>= 大于或者等于
== 没错,这个才是等于,=这个是用来赋值的
!= 不等于
=== 绝对等于(值和数据类型相等)
!== 不绝对等于(值和数据类型其中有一个或者都不相等)

&& 必须都要符合要求

|| 只有一个符合要求

! 真为假,假为真(当判断为true时返回false,判断为false时返回true)

逻辑运算的结果为布尔值


类型判断

数据类型有undefined,null,boolean,number,string,object,symbol

undefined,该变量没有被赋值

null,该变量的值为空的对象指针

boolean,该变量的值为布尔值

string,该变量的值为字符串

number,该变量的值为数值

object,该变量为对象或者null

Symbol,生成一个全局独一无二的值


tyoeof操作符会返回该变量的值或者该值是什么数据类型

注意:null值表示一个空对象指针,所以使用typeof操作符检测null时会返回object,typeof个函数,会返回function

instanceof判断

null instanceof object

返回布尔值,例如

var arr = [1,1,2,3,4,5];
undefined
console.log(arr instanceof Array); // 返回true

constructor
返回初始化该变量的值的数据类型的构造函数,例如
var home = "qaqio";
console.log(home.constructor); // 返回String() { [native code] }

toString.call
例如:
toString.call(null); // 返回[object Null]