使用迭代的方式实现 flatten 函数
迭代的实现: let arr = [1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [1… 查看更多 »
迭代的实现: let arr = [1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [1… 查看更多 »
在观察者模式中的Subject就像一个发布者(Publisher),观察者(Observer)完全和订阅者(Subscriber)关联。subject通知观察者就像一个发布者通知他的订阅者。这也就是很多书和文章使用“发布-订阅”概念来解释观察者设计模式。但是这里还有另外一个流行的模式叫做发布-订阅设计模式。
Deno公司希望能让数以百万计的web程序员在其他领域最大限度地利用他们的技术。
后Spring时代,SpringBoot jar部署模式下,一般没有了JSP,所有的模板都在jar内,当大家都热衷于内存马的时候,发现很容易被查杀(网上查杀方式无外乎都是利用JVMTI重加载class的javaagent方式),并且重启后丢失
console 提供了如此多的输出规范,其实也是在变相制定开发规范,毕竟离开发者最近的就是调试控制台,如果你的项目打印规范与标准规范有差异,那么调试时信息看起来就会很别扭。
语言的一些高级特性的使用可以帮助我们更好去实现一些复杂的功能,以尽量简短的语句来使代码看上去更简洁、逻辑更完善,而且这样减少了出现 bug 的风险。接下来让我总结一些 JavaScript 中的一些简写小技巧。
请求防抖需要收集请求中的集合,并控制过滤
Webpack 的优化瓶颈,主要是 2 个方面:1. Webpack 的构建过程太花时间。2. Webpack 打包的结果体积太大
解析 HTML,生成 DOM 树 解析 CSS,生成 CSS 规则树(CSS Rule Tree) 将 DOM Tree 和 CSS Rule Tree 相结合,生成 渲染树(Render Tree) 从根节点开始,计算每一个元素的大小、位置,给出每个节点所应该出现的屏幕精确坐标,从而得到基于渲染树的 布局渲染树(Layout of the render tree)
你可能做了很长时间的JavaScript开发,但有时你可能没有更新最新的特性,这些特性可以解决你的问题,而不需要做或编写一些额外的代码。这些技术可以帮助您编写干净和优化的JavaScript代码。
谈到HTTPS, 就不得不谈到与之相对的HTTP。HTTP的特性是明文传输,因此在传输的每一个环节,数据都有可能被第三方窃取或者篡改,具体来说,HTTP 数据经过 TCP 层,然后经过WIFI路由器、运营商和目标服务器,这些环节中都可能被中间人拿到数据并进行篡改,也就是我们常说的中间人攻击。
当然,DOM+js的这种方式由于极易引起浏览器重绘或者回流,有非常大的性能风险,对于这种动画的优化方法就是不用DOM进行动画操作.
https的加密用的是对称加密还是非对称加密,是否全程都是用的一种加密方式?
js采用的是词法作用域,也就是函数可以访问的变量在函数定义时写在哪里就确定了和函数被调用的位置无关。闭包就是函数不在定义的词法作用域内被调用,但是仍然可以访问词法作用域中定义的变量。
webpack适用于大型复杂的前端站点构建: webpack有强大的loader和插件生态,打包后的文件实际上就是一个立即执行函数,这个立即执行函数接收一个参数,这个参数是模块对象,键为各个模块的路径,值为模块内容。立即执行函数内部则处理模块之间的引用,执行模块等,这种情况更适合文件依赖复杂的应用开发。