
javascript
文章平均质量分 80
安和-
这个作者很懒,什么都没留下…
展开
-
探索Headless组件与Tailwind CSS的魔力——前端开发的新选择
前端技术日新月异,新的框架和工具层出不穷。今天,我将与大家深入探讨两个在前端开发中备受瞩目的技术:Headless组件和Tailwind CSS。它们各自在前端领域有着独特的价值和影响力,结合起来更是能够为我们带来前所未有的开发体验。接下来,我将为大家介绍它们在实际应用场景中的表现。原创 2024-04-16 11:18:55 · 1280 阅读 · 0 评论 -
JavaScript沙箱
在计算机安全中,沙箱(Sandbox)是一种用于隔离正在运行程序的安全机制,通常用于执行未经测试或者不受信任的程序或代码,它会为待执行的程序创建一个独立的执行环境,内部程序的执行不会影响到外部程序的运行。原创 2023-05-16 17:13:00 · 2848 阅读 · 2 评论 -
Web 实时推送技术
1、轮询(Polling) 轮询是由客户端每隔一段时间向服务器端发起请求,查看服务器端是否产生新的数据。优点:实现简单,只需在原有代码中添加定时器即可完成。缺点:轮询时间间隔不好设计,过长过短都不好。过长,导致用户不能及时接收到更新的数据;过短,导致查询请求过多,增加服务器的负担。并且,连接数会很多,每次请求都会产生 HTTP 的 header,有效负载过低。2、长轮询(Long-Pol...原创 2019-03-18 20:36:00 · 927 阅读 · 0 评论 -
抽奖动画
抽奖动画 之前写过一篇 按概率抽取 文章,今天来讲讲当你拿到后端返回的中奖信息将如果以动画的形式展现给用户。1、素材选取 此处用到的图片素材是出自组里视觉大大之手,我只是将图片改了一下。在此感谢视觉大大。2、页面搭建 根据视觉大大给的视觉稿先搭建一个页面,如下:<style> html, body{ width: 100%; height: 100%; ...原创 2018-11-22 18:39:53 · 1350 阅读 · 0 评论 -
定时器与代码执行次序
1、常见的定时器 setTimeOut setInterval setImmediate (Node特有)process.nextTick(Node特有)以及在代码执行次序的面试题中常出现的 Promise 对象。2、代码执行次序 首先,任务分为同步任务 和 异步任务,并且同步任务 总是早于 异步任务执行。其次,异步任务分为追加在本轮循环的异步任务 和 追加在次轮循环的异步任务。原创 2018-04-24 17:25:37 · 3213 阅读 · 1 评论 -
按概率(权重)抽取(显示)
在实际应用中可能你会碰到抽奖系统,或者有个广告位让你按权重进行显示。概率性的东西,要用到随机函数Math.random()。 某物品的概率 = 自身权重/总权重,为了避免浮点数精度问题,我们将概率转化为权重进行计算,自身权重 = 某物品的概率 * 总权重。所以随机抽取的物品为Math.random()* 总权重。function roll(args){ let sum_weig原创 2018-03-05 10:26:57 · 11859 阅读 · 0 评论 -
函数节流(throttle)与函数去抖(debounce)
频繁执行一段JS逻辑代码对性能会有很大的影响,比如监听 resize、scroll、mousemove等事件,并作出相应的DOM操作,或者逻辑中需要进行后端请求,此时会发现每移动一定像素便触发了大量的回调函数,回调函数中又伴随着DOM操作,或者后端请求,继而引发浏览器的重排与重绘,性能差的浏览器可能会直接假死。为此,需要降低触发回调的频率,而函数节流(throttle)与函数去抖(deboun...原创 2018-02-25 14:35:01 · 1530 阅读 · 0 评论 -
UC等浏览器不显示照片
浏览器拦截关键字:guanggao、ad、advert、advertisement、advertised、commercials等等。 注意在命名的时候不要出现这关键字,否则会被屏蔽。原创 2018-03-09 18:38:04 · 1766 阅读 · 0 评论 -
使用 iframe + postMessage 实现跨域通信
在实际项目开发中可能会碰到在 a.com 页面中嵌套 b.com 页面,这时第一反应是使用 iframe,但是产品又提出在 a.com 中操作,b.com 中进行显示,或者相反。 1、postMessage postMessage方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。语法: otherWindow.postMessage(m原创 2018-02-28 15:33:09 · 79377 阅读 · 5 评论 -
JS类型判断
如何检测对象类型?可能第一反应是使用 typeof。但是 typeof 真的好用吗?不见得,如 typeof null 返回的是 “object”。 还有引用类型(Function除外)也返回的是 object。除了 typeof 以外还可以使用 Object.prototype.toString.call()、constructor、 和 instanceof。1、typeofv...原创 2018-02-28 11:02:15 · 1470 阅读 · 0 评论 -
Mustache 模板引擎
Mustache 是一款经典的前端模板引擎,在前后端分离的技术架构下面,前端模板引擎是一种可以被考虑的技术选型,随着重型框架(AngularJS、ReactJS、Vue)的流行,前端的模板技术已经成为了某种形式上的标配,Mustache 的价值在于其稳定和经典原创 2017-11-22 11:22:29 · 7121 阅读 · 4 评论 -
AMD define函数
AMD,全称 Asynchronous Module Definition,即异步模块加载机制。AMD 规范非常简单只有一个API,即 define 函数: define([module-name?],[array-of-dependencies?],[module-factory-or-object]); 其中,module-name:模块标识,可以省略;array-of-dependencies:所依赖的模块数组原创 2017-11-21 23:13:47 · 7181 阅读 · 0 评论 -
js 数组去重
JavaScript,js,数组去重,对象去重,object去重,函数去重,function去重原创 2017-08-08 14:54:18 · 2397 阅读 · 0 评论 -
尾调用优化
尾调用是函数式编程的一个重要概念,是指某个函数的最后一步是调用另一个函数。如果所有函数都是尾调用,那么完全可以做到每次执行时,调用帧只有一项,这将大大节省内存,这就是“尾调用优化”的意义。递归非常耗费内存,因为需要同时保存成千上百个调用帧,很容易发生“栈溢出”错误。但对于尾递归来说,由于只存在一个调用帧,所以永远不会发生“栈溢出”错误。尾递归优化只在严格模式下生效,那么正常模式下,就得自己实现尾递归优化。原创 2017-08-22 14:20:34 · 2906 阅读 · 0 评论 -
Ajax
1、Ajax 简介 Ajax (Asynchronous JavaScript And XML,异步 JavaScript 和 XML)。通过 Ajax 可以向服务器发送请求,在不阻塞页面的情况下进行数据交互,也可以理解为异步数据传输。使用 Ajax 可以实现局部刷新,减少了不必要的数据量,大大提高了用户的体验,缩短了用户的等待的时间,使得 web 应用程序更小,更快,跟友好。 var xh原创 2017-09-05 16:40:12 · 1420 阅读 · 0 评论 -
严格模式
严格模式 ES5 引入严格模式,在代码头部加上 “use strict” 即可开启严格模式。严格模式主要有以下限制。 变量必须先声明后使用函数的参数不能有同名属性,否则会报错不能使用 with 语句不能对只读属性赋值,否则会报错不能使用前缀 0 表示八进制数,否则会报错不能删除不可删除的属性,否则报错不可删除变量 delete prop ,会报错,只能删除属性 delete原创 2017-08-26 10:56:35 · 1900 阅读 · 0 评论 -
继承
许多面向对象语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。由于ECMAScript 的函数没有签名,所以无法实现接口继承。ECMAScript 只支持实现继承,而且其实现继承主要依赖原型链来实现。 1、原型链 2、借用构造函数 3、组合继承 4、原型式继承 5、寄生式继承 6、寄生组合式继承 8、Class 的继承原创 2017-08-25 20:10:47 · 1589 阅读 · 0 评论 -
闭包
闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的常见方式就是在个函数内部创建另一个函数。在一个函数内部定义的函数将包含函数(即外部函数)的活动对象添加到它的作用链中,这样通过内部函数可以访问外部函数的局部变量。通过闭包可以突破作用域链,将函数内部的变量和方法传递到外部。原创 2017-08-11 09:19:58 · 1506 阅读 · 0 评论