流程控制在一个程序执行的过程中,各条代码的执行顺序对程序的结构是有直接影响的,很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。流程控制就是来控制我们的代码按照什么结构顺序来执行。流程控制主要有三种结构:顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。顺序结构顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序回按照 ......
419
0
0
2022-12-02
计算机组成计算机程序运行:打开某个程序时,先从硬盘中把程序的代码加载到内存中。CPU执行内存中的代码。注意:之所以要内存的一个重要原因,是因为cpu运行太快了,如果只从硬盘中读取数据,会浪费cpu性能,所以才使用存取速度更快的内存来保存运行时的数据。(内存是电,硬盘是机械)JavaScriptJavaScript是世界上最流行的语言之一,是一种运行在客户端的 ......
366
0
0
2022-12-02
什么是树一种分层数据的抽象模型。前端工作中常见的树包括:DOM树,级联选择,树形控件JS中没有树,可以用Object和Array构建树树的常用操作:深度/广度优先遍历,先中后序遍历深度优先遍历访问根节点对根节点的children挨个进行深度优先遍历代码展示:const tree = { val: 'a', children: [ ......
299
0
0
2022-11-30
简单总结一些用 JavaScript 刷力扣的基本调试技巧。最近又刷了点题,总结了些数据结构和算法,希望能对各为 JSer 刷题提供帮助。此篇文章主要想给大家一些开箱即用的 JavaScipt 版本的代码模板,涉及到较复杂的知识点,原理部分可能会省略,有需要的话后面有时间可以给部分知识点单独写一篇详细的讲解。BigInt众所周知,JavaScript 只能精 ......
290
0
0
2022-11-28
在这篇文章中,我们将逐步解释如何在 RHEL 9 系统上安装 Node.js。Node.js 基于谷歌的 V8 JavaScript 引擎构建,它是一个自由开源的跨平台 JavaScript 运行时环境,主要用于构建服务器端应用。它使用事件驱动和异步模型,帮助开发人员构建高度可扩展的数据密集型的实时应用(RTA)。你可以使用 NodeJS 来构建前 ......
372
0
0
2022-11-26
核心是使用jsonp应用场景:大型网站为了进行协同开发,或者出于扩展性的考虑,会做多域名的处理.比如:个人中心 ucenter.xxx.com首页 www.xxx.com商城页 shop.xxx.com在web端不用域名之间是不能直接存取session,cookie数据的,也不能直接通过ajax异步请求json数据。为了解决这类问题,就出现了jsonp,专门 ......
392
0
0
2022-11-23
默认参数和php中一样,还没有一种语法允许一个函数参数带有默认值。(咱们可以这么玩)function sum(a,b){ b = typeof b === "undifine" ? 2 : b; return a + b; } sum(3,0); //3 sum(3); //5 任意多个参数js对函数的参数要求不严格,不一定非 ......
413
0
0
2022-11-23
实现简单路由// hash路由 class Route{ constructor(){ // 路由存储对象 this.routes = {} // 当前hash this.currentHash = '' // 绑定this,避免监听时this指向改变 this.freshRoute ......
346
0
0
2022-11-23
之所以要写这篇,是因为曾经面试被要求在白纸上手写bind实现结果跟代码一样清晰明确,一阵懵逼,没写出来!下面,撸起袖子就是干!~把call、apply、bind一条龙都整一遍!~~call定义与使用Function.prototype.call(): developer.mozilla.org/zh-CN/docs/…// Function.prototyp ......
366
0
0
2022-11-23
LRU(Least Recently Used)LRU 最近最少使用,是一种常见的淘汰(置换)算法,选择最近最久未使用的予以淘汰。常用于内存管理。浏览器 IndexedDB 达到存储上限后,自动清理采用的策略正是 LRU。当可用磁盘空间已满时,配额管理器将根据LRU策略开始清除数据——最近最少使用的源将首先被删除,然后是下一个,直到浏览器不再超过限制。 我们 ......
333
0
0
2022-11-16
实现一个带并发限制的异步调度器 `Scheduler`,保证同时运行的任务最多有两个。完善下面代码中的 `Scheduler` 类,使得以下程序能正确输出。class Scheduler { add(promiseCreator) { ... } // ... } const timeout = (time) => new Prom ......
347
0
0
2022-11-15
一、区别path.join只是简单的将路径片段进行拼接,并规范化生成一个路径,而path.resolve则一定会生成一个绝对路径,相当于执行cd操作。二、path.join()path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。长度为零的 path 片段会被忽略。如果连接后的路径字符串是一个长度为零的字 ......
353
0
0
2022-11-15
虽然前端 IDE 很多,vim、notepad++、sublime text3、atom……,但谁是地表最强 IDE 大家心里都清楚,我自然不必多说。我是一个使用 VSCode 超过 7 年的用户,从 VSCode 正式发布的第一年我就开始使用,一直至今,是一个不折不扣的资深用户和生产力狂魔。很多人吐槽裸的 VSCode 不好用,就像是裸的 Obsidian ......
408
0
0
2022-11-14
单例模式class SingleObject{ constructor(name) { this.name = name } login() { console.log('name: ', this.name) } } SingleObject.getInstance = (() => { ......
358
0
0
2022-11-14
UEditor是由百度开发的所见即所得的开源富文本编辑器,基于MIT开源协议,该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器,主要做了样式的定制,更符合现代浏览器的审美。在开发过程中解决了部分使用上的Bug,期待更多伙伴一期加入维护。v2.4.0亮点介绍 ......
403
0
0
2022-11-14