js高级 typeof underfind与null的区别 什么保存在栈空间什么保存在堆空间 内存、数据、变量的关系 变量值保存问题 和简单的笔记

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的内存内容(保存的可能是基本数据,也可能是地址值数据)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

万事胜意sy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值