首页
学习
活动
专区
圈层
工具
发布

js手写前端需要掌握的点

== y 的情况下,只需要判断是否为NaN,如果x!==x,则说明x是NaN,同理y也一样 // x和y同时为NaN时,返回true return x !== x && y !...// 把之前的失败的err,抛出去 }); })}实现 Promise.all对于 all 方法而言,需要完成下面的核心功能:传入参数为一个空的可迭代对象,则直接进行resolve。.../promise.js'), 'utf8').then(d=>{// console.log(d)// })// promise化node所有apiconst promisifyAll = target...7,所以add(m+n)=add(7+5)=add(12),此时m=12,并且返回temp函数由于后面没有传入参数,等于返回的temp函数不被执行而是打印,了解JS的朋友都知道对象的toString是修改对象转换字符串的方法...如果返回的结果是个 promise,则需要等它完成之后再触发新 promise 的 resolve,所以可以在其结果的 then 里调用新 promise 的 resolvethen(onFulfilled

2.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    哪些 js 手写题是需要掌握的

    cloneDeep1(target[i], hash) : target[i]; } } return cloneTarget;}实现 jsonp// 动态的加载js文件function...script.type = "text/javascript"; document.body.appendChild(script);}addScript("http://xxx.xxx.com/xxx.js...== y 的情况下,只需要判断是否为NaN,如果x!==x,则说明x是NaN,同理y也一样 // x和y同时为NaN时,返回true return x !== x && y !...red');}function green() { console.log('green');}function yellow() { console.log('yellow');}这道题复杂的地方在于需要...在 setInterval 被推入任务队列时,如果在它前面有很多任务或者某个任务等待时间较长比如网络请求等,那么这个定时器的执行时间和我们预定它执行的时间可能并不一致// 最常见的出现的就是,当我们需要使用

    2.3K00

    精读《不再需要 JS 做的 5 件事》

    关注 JS 太久,会养成任何功能都用 JS 实现的习惯,而忘记了 HTML 与 CSS 也具备一定的功能特征。其实有些功能用 JS 实现吃力不讨好,我们要综合使用技术工具,而不是只依赖 JS。...使用 JS 判断还是挺复杂的,你得设法监听父元素滚动,并且在定位切换时可能产生一些抖动,因为 JS 的执行与 CSS 之间是异步关系。...总结 关于 CSS 可以实现哪些原本需要 JS 做的事,有很多很好的文章,比如: youmightnotneedjs。 You-Dont-Need-JavaScript。...另外对于交互过程中的状态,如果需要传递给其他元素响应,还是尽量使用 JS 实现。...讨论地址是:精读《不再需要 JS 做的 5 件事》· Issue #413 · dt-fe/weekly

    3.1K20

    谈谈p5js编辑器

    小菜的读者中有使用 p5js 进行学习和创作的,私信我想了解下 p5js 除了 Processing 软件的 p5js 模式,还有什么编辑器可以用。 这里小菜就单独开一篇文章来说下这事。...编辑器真的“没那么重要”。 不过如果使用 p5js 的读者想获得好的编辑体验,那还是可以说道说道的。 小菜这里列举下 p5js 可以用到的编辑器。...评分:★★★☆☆ Visual Studio Code + p5Canvas插件 + p5js Snippets Visual Studio Code 是微软公司出品的一款编辑器,核心功能稳定,配合社区强大的插件...评分:★★★★☆ Visual Studio Code + Live Server p5Canvas 插件只需要一个 js 便可以右侧实时改动预览,但如果使用了 html,那么我们便需要一个插件,能够在本地机器启动一个...(当然 p5js Snippets 代码提示插件还是需要安装的) 评分:★★★★★ 结论 以上评分仅是小菜个人使用体验得出的结论,如果和大家的不一致,不要喷哈。 还是那句话,专注于创作本身。

    4.8K20

    学习js在线html(富文本)编辑器

    你要的是所见即所得HTML编辑器,简单来说需要几个基本步骤: 1,需要一个可以编辑同时又可显效果的编辑框。textarea不行,它只能用来输入纯文本,不能显示颜色、斜体之类的文字样式,就像记事本。...2,选中要添加样式的文字。通常我们用WORD编辑一段文字的样式时,一般是先打字,再编辑样式。所以你需要一个选中要处理文本的方法。...JS的selection.createRange()可以选中文本,返回一个对象,你可以通过访问该对象的text属性得到被选中的文本。...Paste") 取消操作--IE5.0以后可以无限取消 execCommand("Undo") 重复操作 execCommand("Redo") 把上面的每个用法用按钮来实现,你就已经完成了一个简单的可视文本编辑器...一个简单的开源编辑器:http://www.jb51.net/article/22346.htm <!

    21.8K70

    fabric.js开发图片编辑器的细节实现

    之前写过一篇笔记,《使用fabric.js 快速开发一个图片编辑器》,简单介绍了如何用vue和fabric.js快速开发一款编辑器。...当时的版本比较粗糙,只能说是一个基础版的Demo,很多细节不够完善,参考了稿定设计和创客贴的设计编辑器,优化了很多必要的细节,也算是fabric.js的进阶用法,整理成笔记分享出来。...快捷键监听有现成的工具库hotkeys-js,只需要绑定事件即可。...实现代码:https://github.com/nihaojob/vue-fabric-editor/blob/main/src/core/initWorkspace.js 8、元素画布超出区域 参考稿定设计和创客贴的编辑器...有提供渐变的配置方法,我们只需要按照纯色、渐变2种方式设置颜色即可,功能已实现,细节需要优化,没有合并到main分支。

    5.5K40

    国内最受欢迎的开源项目集锦

    3.FineUI:FineUI是一款基于ExtJS的专业ASP.NET控件库,旨在创建No JS、No CSS、No Update Panel、No ViewState、No WebServices的Web...10.DWZ(jUI):DWZ富客户端框架(jUI)是一个基于jQuery实现的Ajax RIA开源框架,设计目标是简单实用、快速开发、降低Ajax开发成本。...11.KindEditor:一套开源、在线、所见即所得的HTML编辑器,使用JS编写,可以把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。...15.UEditor富文本编辑器:UEditor是由百度前端通用编辑器组开发的所见即所得富文本Web编辑器,具有轻量、可定制、注重用户体验等特点,基于BSD协议开源。...19.pomelo:网易开源的游戏服务器框架,基于node.js开发。轻量、分布式、高可伸缩。也可用于高实时应用开发。

    2.5K51

    2021年你需要的7个JS Array方法

    Array.some() 3 结论 4 关于 前言 文本翻译至 2021年您将需要的7种JS数组方法 JavaScript 为我们提供了大量处理数组的不同方法。...我们将在短短几分钟内为您介绍7个基本知识,以提高您的JS开发技能 正文 1.Array.map() 当我们在数组上使用该 .map() 方法时,它都会在原数组基础尚返回一个新的修改版本。...当需要获取通过显式定义的测试的数组的第一项时 6. Array.every() 也许您已经可以猜到此方法会做什么。 该 .every()方法将检查数组中的每个元素是否通过提供的条件。...当需要获取通过显式定义的测试的数组的第一项时。 结论 JavaScript 给我们提供了很多处理数组的不同方法。使用这些方法,您将能够升级JS开发技能,并使您的代码库更具可维护性。...哎呀,也许您再也不需要碰for循环了。 希望您今天学到了新东西! 关于 本文首发于 2021年你需要的7个JS Array方法

    1.6K20

    你需要了解的有关 Node.js 的所有信息

    这种模式是有效的,因为对服务器的每一个请求都需要时间和资源(内存、CPU 等)。服务器必须完成上一个请求,才能接受下一个请求。 所以,服务器在一定的时间内只处理一个请求?...模版引擎完成它的工作,并将响应发送到客户端。线程再次开始工作。✔️ 9. 线程是自由的(空闲的),像鸟儿一样。?️ I/O 操作有多慢?这得需要看情况。...,就在不同硬件之上测试同一个软件,观察它们的时钟周期时间和周期数,如果时钟周期时间越长、周期数越多,就意味着这个硬件需要的性能较低。...本地线程实现为每个线程分配大约 1 MB 的内存,所以 10K 线程就需要 10GB 的 RAM,请记住这仅仅是在 2000 年代初期!!...Libuv 是一个实现此模式的 C 语言库,是 Node.js 核心模块的一部分。阅读关于 Libuv 的更多内容 here。 事件循环需要经历 6 个阶段,所有阶段的执行被称为 tick。

    1.7K22

    Node.js为什么需要C++扩展?

    API 兼容性问题的处理都收拢到这一层 基于N-API(推荐方式):Node.js 提供的原生扩展支持 API,与下层的 JS 运行时(V8)完全独立,保证ABI跨 Node 版本保持不变,因此不用重新编译就能在不同的...不用 N-API 的话,手搓一个有些复杂,涉及好几层的知识: V8:Node.js 依赖的 JavaScript 引擎,对象创建、函数调用等机制都是 V8 提供的,具体 C++ API 见头文件node...类 Node 依赖库:Node.js 依赖的一些静态链接库在 C++扩展中也可以使用,例如 OpenSSL(更多依赖库,见node/deps/) P.S.关于 Node.js 源码依赖、运行机制的更多信息...上例直接使用了 Node、V8 提供的 C++ API,可能存在跨版本兼容性问题(过几个版本可能就编译报错了),并且在不同版本的 Node 环境下都需要重新编译,否则会产生运行时报错: $ node -...C++扩展来实现尤为合适: 计算密集型模块,C++的执行性能一般要高于 JS 将现有的 C++类库低成本地封装成 Node.js 扩展,供 Node 生态使用 Node.js 提供的原生能力无法满足需要

    3.1K10
    领券