每日一题
前端每日一题。
菜鸡前端进阶
这个作者很懒,什么都没留下…
展开
-
#每日一题# 介绍一下JavaScript的闭包以及应用场景
JavaScript的闭包以及应用场景闭包嵌套函数词法作用域(Lexical scope)最后BOSS闭包闭包的缺点应用场景函数防抖与节流使用闭包设计单例模式为多个组件独立属性拿到正确的值(老掉牙的问题了????)模块机制闭包JavaScript 是一种非常面向函数的语言。它给了我们很大的自由度。在 JavaScript 中,我们可以动态创建函数,可以将函数作为参数传递给另一个函数,并在完全不同的代码位置进行调用。正如你不知道的JavaScript中定义的那样:当函数可以记住并访问所在的词法作用域时,就原创 2020-06-30 23:11:49 · 267 阅读 · 0 评论 -
#每日一题# 介绍一下JavaScript的作用域链
JavaScript的作用域链作用域词法作用域与动态作用域主要区别举例作用域链函数创建函数激活捋一捋作用域作用域是一套规则,用于确定在何处以及如何查找变量(标识符)。作用域包括全局作用域、函数作用域、块级作用域。当作用域进行嵌套的时候,就会形成作用域链。词法作用域与动态作用域作用域共有两种主要的工作模型。第一种是最为普遍的,被大多数编程语言所采用的词法作用域。另外一种叫做动态作用域,仍然有一些语言在使用(比如bash脚本)。需要明确的是,事实上JavaScript并不具有动态作用域。它只有词法作用域原创 2020-06-30 12:48:36 · 261 阅读 · 0 评论 -
#每日一题# 介绍一哈JavaScript的执行上下文
JavaScript的执行上下文什么是执行上下文?执行上下文的类型执行上下文栈思考题什么是执行上下文?简而言之,执行上下文是评估和执行 JavaScript 代码的环境的抽象概念。每当 Javascript 代码在运行的时候,它都是在执行上下文中运行。执行上下文的类型全局执行上下文 — 这是默认或者说基础的上下文,任何不在函数内部的代码都在全局上下文中。它会执行两件事:创建一个全局的 window 对象(浏览器的情况下),并且设置 this 的值等于这个全局对象。一个程序中只会有一个全局执行上下文原创 2020-06-30 07:48:19 · 415 阅读 · 2 评论 -
#每日一题# 函数节流与函数防抖
函数节流与函数防抖什么是函数节流与函数防抖函数节流(throttle)说明函数防抖(debounce)总结什么是函数节流与函数防抖举个栗子,我们知道目前的一种说法是当 1 秒内连续播放 24 张以上的图片时,在人眼的视觉中就会形成一个连贯的动画,所以在电影的播放(以前是,现在不知道)中基本是以每秒 24 张的速度播放的,为什么不 100 张或更多是因为 24 张就可以满足人类视觉需求的时候,100 张就会显得很浪费资源。再举个栗子,假设电梯一次只能载一人的话,10 个人要上楼的话电梯就得走 10 次,是原创 2020-06-24 21:53:15 · 168 阅读 · 0 评论 -
#每日一题# new操作符做了什么?如何自己实现new操作符?
new操作符做了什么?如何自己实现new操作符?new操作符做了什么?new操作符做了什么?MDN给出的定义是:new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 简单的说就是用来创建一个新实例。在看《JS高级程序设计(第三版)》这本书时,P145是这样写到的。要创建Person的新实例,必须使用new操作符。以这种方式调用构造函数实际上会经历以下4个步骤:创建一个新对象;将构造函数的作用域赋给新对象(因此this就指向了这个新对象);执行构造函数中的代码(为原创 2020-06-24 13:32:04 · 245 阅读 · 0 评论