前端学堂
学有所用

JavaScript|Node

javascript知识积累 NodeJS、jQuery、Angular、React、Vue

target=”_blank”打开新窗口漏洞

前端学堂阅读(229)

Target=”_blank”有史以来最低估的漏洞 人们在Html链接中使用 target=’_blank’ 以便打开另外一个新页面,但是新页面会通过window.opener对象访问到原来页面,因此这给攻击者留下了攻击漏洞,设想在一个用户...

前端开发编码一些原则和实践

前端学堂阅读(210)

开发原则 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 以下是面向对象设计的原则,react hooks更多的是函...

react阻止事件冒泡失败原因

前端学堂阅读(362)

JS 中事件的监听与处理 事件捕获与冒泡 DOM 事件会先后经历 捕获 与 冒泡 两个阶段。捕获即事件沿着 DOM 树由上往下传递,到达触发事件的元素后,开始由下往上冒泡。 IE9 及之前的版本只支持冒泡 | A -------------...

react hooks模拟各个生命周期函数

前端学堂阅读(658)

前言 react hook是继16.6的Suspense、lazy、memo后的又一巨大的令人兴奋的特性。然后有各种文章说了hook的优缺点,其中缺点包括:没有直接替代getSnapshotBeforeUpdate、componentDid...

回顾前端2019

前端学堂阅读(261)

标准进行时 ECMAScript 2019 如期到来 ECMAScript 2019 年包含这些更新: Array.prototype.flat、Array.prototype.flatMap; String.prototype.trimS...

基于typescript开发一个npm包

前端学堂阅读(310)

很多时候,我们可能想要用 typescript 语言来创建一些模块,并提交到 npm 供别人使用, 那么在 2018 年,如果我想要初始化这样的一个模块,我需要做哪些步骤呢?: 答案是:创建一个优雅的,对开发者友好的模块,至少需要以下 15...

typescript大法

前端学堂阅读(223)

介绍下tsconfig 开始使用 tsconfig.json 是一件比较容易的事,你仅仅需要写下: {} 例如,在项目的根目录下创建一个空 JSON 文件。通过这种方式,TypeScript 将 会把此目录和子目录下的所有 .ts 文件作为...

npm版本号

前端学堂阅读(305)

npm版本号参考:https://www.npmjs.cn/misc/semver/ Versions A “version” is described by the v2.0.0 specification fou...

hooks使用指南

前端学堂阅读(331)

本文是阅读A Complete Guide to useEffect之后的个人总结,建议拜读原文 理解hooks工作机制 可以这样说,在使用了useState或是useEffect这样的hooks之后,每次组件在render的时候都生成了一...

shrinkwrap命令

npm shrinkwrap命令分析版本

前端学堂阅读(305)

npm采用语义化的版本号 semver 进行控制,让开发过程中依赖的获取和升级变得非常容易,但不严格的版本号控制,也带来了不确定性~~ npm 建议使用semver版本,部分包不遵循semver; package.json 可以使用精确的版...