JS部分知识:什么是闭包

1.什么是闭包

在函数1内部创建函数2,若函数2调用函数1的变量,就会形成闭包。假设调用的是变量a,即使函数1执行完成后,变量a也不会释放,JavaScript会为它形成一个专门的执行上下文, 保存变量a的执行环境,这个执行环境就是闭包。 闭包可以用于封装函数的内部变量,因为从外部是无法访问到函数内部变量的,但是通过闭包就可以实现这一点。 另外闭包可以进行回调函数,它可以返回一个函数在将来需要调用时再调用,并且能缓存之前的执行环境。

2、JS中的数据类型有哪些

数据类型共有六种,分为基本类型和引用类型。

基本类型有:string、number、boolean、null、undefined
字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)
引用类型:object

3、JS检测数据类型的方法:

四种;
typeof、instanceof、constructor、Object.prototype.toString.call()

typeof可以判断除了null以外的原始类型
typeof只能判断对象类型中的function,其他都为Object

为什么typeof null 的值为object? 

因为typeof null时返回object是最初JavaScript语言的一个bug,为兼容老代码保留至今
(原型末端是null,null可以看为是一个空对象。所以typeof null时返回object)

嘿嘿~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IsHuanli

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

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

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

打赏作者

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

抵扣说明:

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

余额充值