MonkeyBlog

生命的意義在於編程


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图

React为什么要尽量使用const去声明element?

发表于 2019-08-09 14:36:36

html标签之间换行产生的空格

发表于 2019-08-09 14:03:26 | 分类于 Html

题目描述:

1
2
3
4
5
6
7
8
<style>
.span1 {border: 1px solid red;width:10px;height: 50px;}
.span2 {border: 1px solid red;width:10px;height: 50px;}
</style>
<div class="wrap">
<span class="span1">2</span>
<span class="span2">3</span>
</div>

html标签之间换行产生的空格

阅读全文 »

JavaScript深入之call和apply的模拟实现

发表于 2019-08-07 17:19:00 | 分类于 javascript

call

一句话介绍 call:

call() 方法在使用一个指定的 this 值和若干个指定的参数值的前提下调用某个函数或方法。

举个例子:

1
2
3
4
5
6
7
8
9
var foo = {
value: 1
};

function bar() {
console.log(this.value);
}

bar.call(foo); // 1

阅读全文 »

应用缓存方案

发表于 2019-08-01 14:00:09 | 分类于 ServiceWorker , 缓存

简介

PWA(Progressive Web App)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好,能够模拟一些原生功能,比如通知推送。在移动端利用标准化框架,让网页应用呈现和原生应用相似的体验。主要应用到的技术:serviceWorker等。

serviceWorker

Service Worker 是浏览器在后台独立于网页运行的脚本,它打开了通向不需要网页或用户交互的功能的大门。 现在,它们已包括如推送通知和后台同步等功能。 将来,Service Worker 将会支持如定期同步或地理围栏等其他功能。 本教程讨论的核心功能是拦截和处理网络请求,包括通过程序来管理缓存中的响应。

生命周期:

ServiceWorker生命周期
目前浏览器支持情况: https://jakearchibald.github.io/isserviceworkerready/

阅读全文 »

JavaScript专题之函数柯里化

发表于 2019-07-15 16:52:21 | 分类于 JavaScript专题

定义

维基百科中对柯里化 (Currying) 的定义为:

In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument.

翻译成中文:

在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。

阅读全文 »

前端性能优化的一点思考

发表于 2019-06-24 16:35:04 | 分类于 前端

导语

前端目前来说越来越庞大,对前端有了一种新的定义–大前端,PHP和node等一些弱类型的脚本辅助语言也逐渐归类为大前端的一部分。对于一个完整的,可持续优化的项目,前端的优化必不可少。

  • 减少 HTTP请求数
  • 将外部脚本置底
  • 异步执行 inline脚本
  • 将 CSS放在 HEAD中
  • 减少不必要的 HTTP跳转
  • 避免重复的资源请求
  • Image压缩
  • 文件等静态资源存储到CDN服务器
    …
阅读全文 »

JavaScript 中 apply 、call 的详解以及纠正

发表于 2019-06-19 10:30:54 | 分类于 javascript

原文摘自 lin-xin/blog, 对原文作者的部分观点不一致,文中会有指出。

apply 和 call 的区别

ECMAScript 规范给所有函数都定义了 call 与 apply 两个方法,它们的应用非常广泛,它们的作用也是一模一样,只是传参的形式有区别而已。

阅读全文 »

Jenkins自动化部署之编写Pipeline的Groovy脚本

发表于 2019-06-05 17:50:16 | 分类于 脚本 , Jenkins

前言

目前项目的自动化部署越来越简便和成熟,项目开发过程中对前端项目的自动化部署做一下总结。通过Jenkins运行Groovy脚本实现对项目的自动化构建和部署。

Jenkins的Config配置

Jenkins的Config配置

阅读全文 »

可能这些是你想要的H5软键盘兼容方案

发表于 2019-06-04 18:46:10 | 分类于 H5

可能这些是你想要的H5软键盘兼容方案

前言

最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上。需求很明确,看似很简单,其实不然。从实验过一些机型上看,发现主要存在以下问题:

  • 在 Android 和 IOS 上,获知软键盘弹起和收起状态存在差异,且页面 webview 表现不同。
阅读全文 »

JavaScript专题之跟着underscore学防抖

发表于 2019-06-03 17:15:44 | 分类于 JavaScript专题

JavaScript专题之跟着underscore学防抖

前言

在前端开发中会遇到一些频繁的事件触发,比如:

  • window 的 resize、scroll
  • mousedown、mousemove
  • keyup、keydown
    ……

为此,我们举个示例代码来了解事件如何频繁的触发:

阅读全文 »
1234
MonkeyBlog

MonkeyBlog

40 日志
18 分类
28 标签
© 2022 monkey