ECMAScript
文章平均质量分 75
1
Justin0223
I will be okay
展开
-
去掉H5中默认alert和confirm的ip地址或域名
(一)前言大部分情况,C端产品,都会有UI提供相对应的弹框样式,但是在下载页这种纯html这种项目中,alert一般直接使用弹框了,但是弹框在使用使用,会在title中带上ip,导致部分用户,不希望看到这个地址(二)实现// 重置alert window.alert = function(name){ const iframe = document.createElement("IFRAME"); iframe.style.display="none"; iframe.se原创 2020-07-23 22:12:32 · 2246 阅读 · 4 评论 -
CSP(内容安全策略)防运营商劫持
(一)前言 CSP英文全称Content Security Policy,中文意思是 **内容安全策略**。CSP以白名单的机制对网站加载或执行的资源起作用,在网页中,这样的策略通过 HTTP 头信息或者 meta 元素定义。用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件。转载 2019-11-26 16:01:22 · 3597 阅读 · 0 评论 -
script、iframe注入型防运营商劫持
(一)前言准确是防运营商劫持就是防script、iframe注入型劫持,属于HTTP劫持中的一种。主要是劫持js文件,然后在网页中通过js脚本往网页中注入图片和链接或者框架广告,也叫流量劫持。至于劫持类型,这里我建议,看这篇文章(二)...转载 2019-11-25 21:04:06 · 1072 阅读 · 0 评论 -
推荐文章/常用工具
(前言)这栏目会收集前端相关遇到过,觉得值得阅读的文章,有部分是干货,能直接对业务能力提升,有部分是偏向讲解底层原理,差不多意思就是,能提升对底层原理认识,以及日后遇到喜欢谈论底层原理,也能有个应对CSSCSS新属性ECMAscript值得一看的原生JS ApiReact.js虚拟DOM实现React FiberReact底层解析WebpackWebpa...原创 2019-09-14 17:26:56 · 197 阅读 · 0 评论 -
Tree和array之间相互转换
(一)前言对于大部分网站需求,我们经常会遇到一种需求,将list转为tree结构,或者将tree转为list结构,或者我们在tree结构中查找对于的数据,返回,或者返回顶层到查找级别的list。(二)将list转为tree我们一般会在后台数据库设计时候,当我们设计省市县联动时候,一般会在数据库设计唯一索引id,和pid字段,pid关联父亲id,这样当查询出来的数据很可能是类似下面的结构co...原创 2019-08-19 23:13:43 · 6492 阅读 · 1 评论 -
TweenMax.js 专业动画插件
(一)前言当我们要做网页动画时候,不管是css还是js控制,其实在复杂连续动画下,都很难保证连续和流畅性,那么,我们就需要一个能给出的简单的解决方案,正好,TweenMax.js 就能解决这件事(二)TweenMax初探...原创 2019-08-10 02:41:23 · 2553 阅读 · 0 评论 -
使用jison解决JS处理后台返回的Number数据精度丢失
(一)前言在拿到请求返回的数据的时候,不用json自带的那个parse方法,而是通过自己定义了一个json转换方法,然后再response给前端,这样一来前端拿到的数据就是一个动过手脚的json数据。这个方法的确可以实现前端拿到的数据不出现精度丢失问题,但是再浏览器中的Preview上查看数据还是一个丢失的错误数据,这个是因为浏览器它用的还是自己原始的那个json parse方法(二) 案...原创 2019-03-21 00:20:21 · 3671 阅读 · 0 评论 -
面试高频(二:web 的 Event loop)
前言在没一个老师手把手交情况下, 大多数面试机会其实也是一次学习过程,因为面试官问的问题,很大一部分会是实际工作中所需要具备,这也是工作年限其实也占据候选人水平一部分因素原因。(一)鄙视题// 请暂停1分钟。自己思考下,请问以下输出什么 ?setTimeout(function () { console.log(1);}, 0);new Promise(function (reso...原创 2018-10-05 01:17:38 · 382 阅读 · 0 评论 -
面试高频(一:call, apply, bind实现)
(一)call源码解析首先上一个call使用function add(c, d) { return this.a + this.b + c + d;}const obj = { a: 1, b: 2 };console.error(add.call(obj, 3...原创 2018-06-16 22:25:15 · 10694 阅读 · 7 评论 -
Javascript异步编程(四: co 函数库)
前言co 函数库是著名程序员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行,让你告别手动写执行器的痛苦。 https://github.com/tj/co转载 2017-09-17 12:42:17 · 471 阅读 · 0 评论 -
Javascript异步编程(二: Generator函数)
协程概念传统的编程语言,早有异步编程的解决方案(其实是多任务的解决方案)。其中有一种叫做”协程”(coroutine),意思是多个线程互相协作,完成异步任务。 协程有点像函数,又有点像线程。它的运行流程大致如下。维基百科 https://en.wikipedia.org/wiki/Coroutine协程有点像函数,又有点像线程。它的运行流程大致如下。第一步,协程A开始执行。第二步,协程A执原创 2017-09-16 19:15:42 · 333 阅读 · 0 评论 -
Javascript异步编程(三: Thunk函数)
前言参数的求值策略Thunk函数早在上个世纪60年代就诞生了。 那时,编程语言刚刚起步,计算机学家还在研究,编译器怎么写比较好。一个争论的焦点是“求值策略”,即函数的参数到底应该何时求值。const x = 1;const f = (m) => m * 2;console.log(f(x + 5));上面代码先定义函数 f,然后向它传入表达式 x + 5 。请问...转载 2017-09-17 00:21:01 · 550 阅读 · 0 评论 -
Javascript异步编程(一: 基础用法)
Javascript语言的执行环境是"单线程"(single thread)。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务 ,常见问题就是:一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死)原创 2017-09-16 01:56:38 · 498 阅读 · 0 评论 -
Javascript异步编程(五: Boss[async 函数])
前言JavaScript 最麻烦的就是异步操作,麻烦到一直有人提出各种各样的方案,试图解决这个问题。从callback到Promise 对象,再到 Generator 函数。虽然解决了部分问题,但是又需要开发者去理解抽象的底层运行机制。转载 2017-09-17 19:44:02 · 305 阅读 · 0 评论 -
匿名函数(回调函数)的理解思路
//普通函数/*function box(){return 'abc'}window.alert(box());*//*匿名函数:就是没有给名称的函数或者名称被隐藏的函数;function(){return 'abc';}单独使用会报错;就算能够运行,也不能够调用,因为没用函数名;*//* //把匿名函数赋值给变量的做法var box翻译 2015-08-18 22:45:02 · 3865 阅读 · 0 评论