你好,新人之路,原生js,你还记得多少呢

js的数据类型

一、js有基本数据类型和引用数据类型
1)基本数据类型 :Null—Undefined—Boolean—Number—String
这五种基本数据类型的值 一般存在栈内存中,所以我们是通过来访问的
2)引用数据类型:Aarray—Object—Function
这三种引用数据类型的 存在堆内存中,地址可以保存在栈内存中(因为一般引用类型不知道到底有多大,栈内存大小是固定的,可能会放不下引用数据类型的值因此一般存在堆内存中)

3.看图说话
你好,新人之路,原生js,你还记得多少呢_第1张图片
二、数据类型的判断方式
1)typeof 变量 或者 typeof(变量) 判断基本数据类型比较方便
例如:
typeof NaN //number (下面解释)
typeof 10 // ‘number’ 类型
typeof ‘10’ // ‘string’ 类型
typeof undefined // ‘undefined’ 类型
typeof null // ‘object’ 类型
typeof Boolean // ‘Boolean’ 类型
typeof true // ‘Boolean’
typeof Object // ‘function’ Object是内部封装的方法 他其实就是一个函数
typeof {} //‘object’
typeof [] //‘object’
var arr=new Array()
typeof arr // ‘object’

是不是有点蒙呢 下面给大家介绍一个比较好的一个方法
2)instansof 判断已知类型的方法
例如:
[] instanceof Array // true 固定的写法 必须大写 Array
{} instanceof Object //true //大写 Object
true instanceof Boolean //false (不对吧) //大写Boolean
‘10 ’ instanceof String // false (不对吧) //大写 String
10 instanceof Number //false (不对吧) //大写 Number
(还不好使用,这明明就是 Number类型吗 下面这个一步到位)
3) 固定写法:Object.prototype.toString.call()
例如:
Object.prototype.toString.call(10) [object Number] 就是Number类型Object.prototype.toString.call(‘10’) [object String] 就是String类型
Object.prototype.toString.call(null) [object Null] 就是Null类型
Object.prototype.toString.call(undefined) [object Undefined] 就是Undefined类型
Object.prototype.toString.call(Boolean) [object Boolean] 就是Boolean类型
还有一种就不说了 相信初学者一定蒙了

三、在来说一下js世界的五假
假的有 0 、‘ ’、NaN、false、undefined、null
number类型的假 0
string类型的假 空字符串 ‘ ’
boolean类型的假 false
NaN 解释一下 (not a number 不是一个数字)
所有就延伸出来判断是不是数字的方法 isNaN()
isNaN() 意思就是 问它 是不是数字 是就返回false 否则就是true

	console.log(isNaN(10)) //false  正常理解
    console.log(isNaN('10')) //false  正常理解
    console.log(isNaN('ab')) //true  正常理解
   下面四个看完是不是感觉又蒙了
    console.log(isNaN(true)) //false
    console.log(isNaN(false)) //false
    console.log(isNaN(0)) //false
    console.log(isNaN(1)) //false
    console.log(isNaN(‘0’)) //false
    console.log(isNaN(‘1’)) //false

解释一下:
NaN是 number 类型
isNaN是NaN延伸出来的,所以在使用isNaN这个方法时要先转换成number类型 ,true转换成number类型是1,false转换成number是0
这也就不难理解为什么0和1是false了
四、五种待补充

4.变量声明:
1.可以使用字母,数字,下划线,$,
2不能以数字开头,
3.不能使用关键字,保留字(就是系统中已经使用过的)
变量赋值

总结:
基本数据类型引用的是值本身—值变了是从新赋值
引用数据类型引用的是地址—地址变了值就会变

你可能感兴趣的:(你好,新人之路,原生js,你还记得多少呢)