简单了解null和undefined

句简单来说是:undefined代表了不存在的值,null代表了没有值。也就是,比如对一个值声明后,没有赋值,输出他就是undefined,是不存在的,而当赋值为null,那么输出就是null。这两者还有一些区别点要注意: 123456789//1u...

闭包和内存泄漏

闭包有权访问另外一个函数作用域中变量的函数。闭包是指那些能够访问自由变量的函数.自由变量是指在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。闭包=函数+函数能够访问的自由变量。每一个函数都会拷贝上级作用域,形成一个作用域链条。闭...

内存管理GC

栈中JS引擎自动清除栈内存中变量一般在它的当前执行环境结束就会被销毁被垃圾回收制回收,而堆内存中的变量则不会,因为不确定其他的地方是不是还有一些对它的引用。堆内存中的变量只有在所有对它的引用都结束的时候才会被回收。JS引擎可以通过逃逸分析辨别出哪些变...

哪些事件支持冒泡

可以通过event.bubbles属性判断该事件是否可以冒泡: 事件 是否冒泡 click 可以 dbclick 可以 keydown 可以 keyup 可以 mousedown 可以 mousemove 可以 m...

模块化

特点1.解决命名污染,全局污染,变量冲突等2.内聚私有,变量不能被外部访问3.更好的分离,按需加载4.引入其他模块可能存在循环引用问题5.代码抽象,封装,复用和管理6.避免通过script标签从上至下加载资源7.大型项目资源难以维护,特别是多人合作的...

事件流

事件流描述从页面接收事件的顺序事件发生时会在元素节点和根节点之间按照特定的顺序传播,路径所经过的节点都会收到该事件一DOM事件流。两种事件流模型:1捕获:触发元素的事件时,该事件从该元素的祖先元素传递下去(不太具体的节点应该更早接收到事件,而最具体的...

改变this指向的方法

(bind/call/apply)三者都是用来重新定义this这个对象的一、三者的区别:1、调用上 123456789101112131415let name ="www",age ="17"...

继承方式

构造函数会在每一个实例上都创建一遍!使用原型模式定义的属性和方法由所有实例共享!原型链 12345678910function Parent(){ this.name = 'kevin';}Parent.pr...

构造函数

构造函数在JavaScript中,通过new来实例化对象的函数叫构造函数(函数没有通过new实例化对象,这个函数就是普通函数),也就是初始化一个实例对象,对象的prototype属性是继承一个实例对象。构造函数的命名一般会首字母大写 为什么需要使用构...

箭头函数和普通函数的区别

箭头函数的this为定义时所在的this,不绑定this(因为箭头函数没有Constructor),会捕获其所在上下文的this作为自己的this 若包裹在函数中,就是函数调用时所在的对象,放在全局就是window,箭头函数的this就是外层代码...

1192021222326