1. js数据类型_对象_函数_内存

时间:2021-07-12 22:58:22

1. js数据类型有哪些?

  • 基本(值)类型

Number ---- 任意数值

String ---- 任意字符串

Boolean ---- true/false

undefined ---- undefined

null -------- null

  • 对象(引用)类型

Object

Array

Function

2. 判断数据类型的方法?

typeof

不能检测 null object array 的区别

instanceof

能检测 object array function 的区别

3. 谈谈内存

内存条 ---- 通电后产生的存储空间(临时的)

js 引擎对内存是自动分配

需要使用时分配

不需要使用时自动释放

执行完函数也会释放产生的内存

内存空间的分类

  • 栈空间

全局变量 和 局部变量

变量的基本类型值 和 地址值

  • 堆空间

对象数据

4. 谈谈对象

实体的抽象表达,组成有:

属性名 : 字符串(标识)

属性值 : 任意类型

一般对象 :  属性值不是 function  描述对象的状态

方法对象 :  属性值为function的属性  描述对象的行为

特别的对象 :

数组 :  属性名是 0, 1, 2, 3 之类的索引

函数 :  可以执行的

操作内部属性(方法) :

xxx.属性名          /          xxx['属性名'] ---- 属性名有特殊字符 / 属性名是一个变量

5. 谈谈函数

用来实现特定功能的, n 条语句的封装体

只有函数类型的数据是可以执行的, 其它的都不可以

提高复用性, 便于阅读交流

函数也是对象

instanceof Object === true

函数有属性: prototype

函数有方法: call()/apply()

可以添加新的属性/方法

一般函数 : 直接调用     window

构造函数 : 通过new调用  实例对象

方法: 通过函数对象 call / apply 调用  传入的第一个参数对象

通过对象.调用内部的属性/方法    指向调用的对象

函数里有一个或多个值不能确定,应该由调用者确定,声明形参

return 外界需要一个值通过函数处理后返回

IIFE (Immediately Invoked Function Expression) 立即调用函数表达式 ---- (function(){ //实现代码    })();

什么函数才是回调函数 ?

你定义的, 但是你没有调用, 但它最终(在一定条件下或某个时刻)执行了

dom事件回调函数

定时器回调函数

ajax请求回调函数

生命周期回调函数