JavaScript进阶-基础总结深入

数据类型

数据类型分为两大类:

基本(值)类型:

  • Number:任意数值
  • String:任意字符串
  • Bollean:true/false
  • undefined:undefinednull
  • null:null

对象(引用)类型

  • Object:任意对象
  • Array:特别的对象类型(内部数据有序)
  • Function:特别的对象类型(可执行)

类型判断

typeof

可以区别:数值、字符串、布尔值、undefined、Function

不能区别:null与对象、一般对象与数组

注:返回的是一个字符串表达形式

instanceof

专门用来判断对象数据类型:Object、Array、Function

===

可以用来判断null与undefined

常见问题

  • undefined与null的区别?

undefined代表没有赋值,null代表赋值了,只是值为null。

  • 什么时候给变量赋值为null?

var a = null //表示a指向一个对象,但对象此时还没有确定。

a = null //让a指向的对象称为垃圾对象

数据、变量与内存

三者关系:内存是一个容器用来存储程序运行需要的操作;变量是内存的标识,通过变量可以找到对应的内存,进而操作内存中的数据。

常见问题

  • var a = xxx,a内存中保存的是什么?

若xxx是一个基本数据,则保存的是这个数据;若xxx是一个对象,则保存的是对象的地址值;若xxx是一个变量,则保存的是xxx的内存内容(可能是基本数据,也可能是地址值)。

  • 在js调用函数传递变量参数时,是值传递还是引用传递?

值传递,无论是一个基本数据类型还是对象,传递的都是变量的值,只是这个值可能是基本数据或者是地址数据。

IIFE(immediately-Invoked Function Expression,立即调用函数表达式)

作用:

  • 避免向全局作用域中添加变量和函数,因此可以避免多人开发中全局变量和函数的命名冲突
  • IIFE中定义的任何变量与函数,都会在执行结束时被销毁,减少闭包占用内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值