typeof判断数据类型
但是他所返回的事字符串
可以区别:数值、字符串、布尔值、undefined、function;
不能区别:null与object、一般object与array
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
const a=function(){
return"我是a"
}
console.log(typeof a );
</script>
underfind与null的区别
undefined代表定义未赋值;null定义并赋值
<script>
console.log("a是"+a);
const b=null
console.log("b是"+b);
</script>
为什么要用null
var a = null // a将指向一个对象,但对象此时还没有确定
a = null // 让a指向的对象成为垃圾对象
什么保存在栈空间什么保存在堆空间
也就是用于取到内存里面的标志存在栈空间 存入内存的数据存在对空间
一个变量对应一块小内存,变量名用来查找对应的内存,变量值就是内存中保存的内容。
我理解就是定义的变量名在栈空间 定义的变量值在堆空间
内存、数据、变量的关系。
内存是一个容器,用来存储程序运行需要操作的数据(内存是用来存储数据的空间)。
变量是内存的标识,我们通过变量找到对应的内存,进而操作(读/写)内存中的数据。
指向
<script>
const b="你好"
const a=b
console.log(a);
</script>
这里a=b是把b保存的对象的地址值复制给b
<script>
const a=1
const a=function(){}
const a="holle"
</script>
const a=1 当a=的是一个基本数据,保存的就是这个数据。
const a=function(){} 当a=的是一个对象,保存的是对象的地址值。
const a=“holle” 当a=的是一个变量,保存的xxx的内存内容(保存的可能是基本数据,也可能是地址值数据)。