生命不息 折腾不止
JavaScript 中的设计模式
JavaScript 中的设计模式
设计模式设计模式是对软件设计开发过程中反复出现的某类问题的通用解决方案。 设计模式更多的是指导思想和方法论,而不是现成的代码,当然每种设计模式都有每种语言中的具体实现方式。学习设计模式更多的是理解各种模式的内在思想和解决的问题,毕竟这是前人
2021-09-06
事件冒泡
事件冒泡
当一个元素接收到事件的时候,会把他接收到的事件传给自己的父级,一直到 window ,当然其传播的是事件,绑定的执行函数并不会传播,如果父级没有绑定事件函数,就算传递了事件,也不会有什么表现,但事件确实传递了。事件冒泡的原因是事件源本身可能
2020-10-04
JavaScript 中的继承
JavaScript 中的继承
继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。 原型链继承通过将子类的原型对象指向父类的实例,实现继承访问父类属性方法等 // 定义
2020-10-01
防抖与节流
防抖与节流
防抖 (debounce) 与节流 (throttle) 都是控制事件处理函数执行频率的方法,当函数会进行 DOM 操作或者具有请求服务器等行为并且作为高频事件例如 onscroll 触发的事件处理函数时,就需要进行事件处理函数执行频率的控
2020-09-24
JavaScript 严格模式
JavaScript 严格模式
JavaScript 的严格模式 (strict mode),即在严格的条件下运行。严格模式消除了 Javascript 语法的一些不合理、不严谨之处,减少一些怪异行为;消除代码运行的一些不安全之处,保证代码运行的安全;提高了引擎的效率,增
2020-09-22
JavaScript 中的堆栈
JavaScript 中的堆栈
堆 (Heap) 是动态分配的内存,大小不定也不会自动释放,栈 (stack) 为自动分配的内存空间,在代码执行过程中自动释放。 栈在栈内存中提供一个供 JavaScript 代码执行的环境,关于作用域以及函数的调用都是栈内存中执行的。
2020-09-18
Thunk 函数
Thunk 函数
编译器的求值策略通常分为传值调用以及传名调用,Thunk 函数是应用于编译器的传名调用实现,往往是将参数放到一个临时函数之中,再将这个临时函数传入函数体,这个临时函数就叫做 Thunk 函数。 求值策略编译器的求值策略通常分为传值调用以
2020-09-13
事件流模型
事件流模型
事件捕获 (Event Capturing) 是一种从上而下的传播方式,以 click 事件为例,其会从最外层根节向内传播到达点击的节点,为从最外层节点逐渐向内传播直到目标节点的方式。事件冒泡 (Event Bubbling) 是一种从下往
2020-09-11
闭包
闭包
函数和对其词法环境 (lexical environment) 的引用捆绑在一起构成闭包 (closure),也就是说,闭包可以让你从内部函数访问外部函数作用域。在 JavaScript,函数在每次创建时生成闭包。在本质上,闭包是将函数内部
2020-09-10
匿名函数与自执行函数
匿名函数与自执行函数
匿名函数匿名函数就是指的没有名字的函数,即定义函数对象时不定义函数体名字,但是必须将匿名函数作为表达式赋予一定操作,比如将其作为变量值或者让其自执行,否则这次定义将无意义,解释器也会抛出异常。函数表达式中的 function 则不会出现函数
2020-09-08
1 / 3