摘要:
JavaScript实现简单的图片瀑布流插件 this.myPlugin = this.myPlugin || {};/** * 制作图片瀑布流 */this.myPlugin.createImgWaterfall = function (option) { var defaultOption = 阅读全文
摘要:
XSS已有近二十年的历史了,但它仍然是Web上最常见的漏洞之一。因此,已经发展了许多机制来减轻漏洞的影响。我经常会误以为这些机制可以作为针对XSS的保护。今天,我们将了解为什么情况并非如此。我们将在代码重用攻击领域探索一种相对较新的技术。Web的代码重用攻击于 2017年 首次描述,可用于绕过大多数 阅读全文
摘要:
当谈到运动和动画时,可能没有什么比粒子更让我喜欢了,这就是为什么每次我探索新技术时,我总是以尽可能多的创建粒子来演示。 在本文中,单击按钮时,我们将使用Web Animations API创建烟花效果,从而制作更多的粒子魔术。 浏览器支持 在我撰写本文时,除了Safari和Internet Expl 阅读全文
摘要:
最近开发前端一直用的前端模板引擎;一直使用的 TPPL 模板引擎 源代码如下: function tppl(tpl, _data) { tpl = tpl.replace(/(<)/g, "<").replace(/(&)/g, "&").replace(/(>)/g, ">") 阅读全文
摘要:
在我们学习ESLint之前,我们先来了解一下什么是ESLint ? 什么是ESLint? 官网上告诉我们,ESLint 是一个用来识别 ECMAScript/JavaScript 并且按照规则给出报告的代码检测工具,哦,所以我们可以知道,ESLint 就是一个工具,而且是一个用来检查代码的工具。 代 阅读全文
摘要:
当前端应用越来越复杂时,我们想要将代码分割成不同的模块,便于复用、按需加载等。require 和 import 分别是不同模块化规范下引入模块的语句,下文将介绍这两种方式的不同之处。 1. 出现的时间、地点不同 年份出处 require/exports 2009 Commonjs import/ex 阅读全文
摘要:
一、typeof 简介 在 TypeScript 中, typeof 操作符可以用来获取一个变量或对象的类型。 interface Person { name: string; age: number; } const sem: Person = { name: "semlinker", age: 阅读全文
摘要:
虽说我们很多时候前端很少有机会接触到算法。大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面。实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的。如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路。下面罗列在前端面试中经常撞见的几个问题吧。 阅读全文
摘要:
由于js是单线程语言,为了解决异步操作所以设计了事件循环。 宏任务:setTimeout、setInterval 、script(整体代码)、 I/O 操作、UI 渲染等微任务:setImmediate、process.nextTick()、 new Promise().then(回调)、Mutat 阅读全文
摘要:
最近项目遇到一个小问题代码我会简化成小例子展示给大家。 用心看到最后会有收获哈,基础扎实的童鞋可以直接跳到数组类型使用。 说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用(正则不熟练同学的利器)。 String 类型的使用 温习一下大家熟知的字符串用法,举个例子 let st 阅读全文
摘要:
背景 前端编写测试用例时,在测试界面上的一些效果时,通常都希望能够模拟一些用户操作,而模拟用户操作最主要的方式就是用代码触发指定事件。通常一些元素上会自带一些触发事件的方法,例如click、focus等,但是如果是其他的事件,例如mousedown、mouseup、mouseenter,这些事件怎么 阅读全文
摘要:
在 TypeScript中,any 和 unknown 是包含所有值的类型。在本文中,我们将会研究它们是怎样工作的。 TypeScript 的两种顶级类型 any 和 unknown 在 TypeScript 中是所谓的“顶部类型”。以下文字引用自 Wikipedia: top type [...] 阅读全文
摘要:
一、什么是接口 接口是面向对象JavaScript程序员的工具箱中最有用的工具之一。在设计模式中提出的可重用的面向对象设计的原则之一就是“针对接口编程而不是实现编程”,即我们所说的面向接口编程,这个概念的重要性可见一斑。但问题在于,在JavaScript的世界中,没有内置的创建或实现接口的方法,也没 阅读全文
摘要:
解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头、正确响应options请求,正确设置 JavaScript端需要设置的headers信息 方能实现。 此处手札 供后人参考~ 1.第一步 服务端设置响应头 header('Access-Control-Allow-Ori 阅读全文
摘要:
在 Web Worker中使用无限同步循环 由于 Web Worker 本质上是Web线程,因此你可以在其中无限循环而不阻塞主线程。这使你可以访问微秒级的时间分辨率。这对于在 Worker 中做出时间关键的决策是特别实用的,可以让主线程准确的知道什么时候合适。例如:只要微秒是质数,就渲染某些东西。要 阅读全文
摘要:
js 可以使用 Math(算数) 对象来实现随机数的生成。 需要了解的 Math 对象方法 方法描述 ceil(x) 对数进行上舍入,即向上取整。 floor(x) 对 x 进行下舍入,即向下取整。 round(x) 四舍五入。 random() 返回 0 ~ 1 之间的随机数,包含 0 不包含 1 阅读全文
摘要:
一、什么是 reduce() ? reduce() 方法对数组中的每个元素执行一个升序执行的 reducer 函数,并将结果汇总为单个返回值 const array1 = [1, 2, 3, 4]; const reducer = (accumulator, currentValue) => acc 阅读全文
摘要:
劫持产生的原因和方式 在网页开发的访问过程中, http是我们主要的访问协议。我们知道http是一种无状态的连接。即没有验证通讯双方的身份,也没有验证信息的完整性,所以很容易受到篡改。运营商就是利用了这一点 篡改了用户正常访问的网页,插入广告或者其他一些杂七杂八的东西 ,达到盈利的目的。 运营商的一 阅读全文
摘要:
介绍 本指南为您介绍了在台式机和移动网络在不同的平台和浏览器( < 99.99 %我可能会跳过一些浏览器)开发的JavaScript SDK ,对于那些非浏览器开发的支持(硬件,嵌入式,节点/ IO js )被排除在本文档之外,在未来予以考虑。因为我没有找到一个关于设计JavaScript SDK的 阅读全文
摘要:
这一篇是在实际工程中遇到的一个难得的例子;反映在Node里两种编程范式的设计冲突。这种冲突具有普适性,但本文仅分析问题本质,不探讨更高层次的抽象。 我在写一个类似HTTP的资源协议,叫RP,Resource Protocol,和HTTP不同的地方,RP是构建在一个中立的传输层上的;这个传输层里最小的 阅读全文