<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Max_Law的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Max_Law</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Max_Law]]></copyright><item><title><![CDATA[为页面添加水印]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/129623450</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/129623450</guid><author>Max_Law</author><pubDate>Fri, 17 Mar 2023 16:29:14 +0800</pubDate><description><![CDATA[为页面添加水印。]]></description><category></category></item><item><title><![CDATA[添加打印样式的三种方式]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/129623397</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/129623397</guid><author>Max_Law</author><pubDate>Fri, 17 Mar 2023 16:25:35 +0800</pubDate><description><![CDATA[在使用时常常会发现打印的样式十分混乱，首先是因为打印机采用的是 mm 单位，而不是我们页面常用的 px，同时有些样式在打印时也不会生效。所以一般我们都需要为打印样式重新进行设计，一般我们有三种方法添加打印专用样式文件。]]></description><category></category></item><item><title><![CDATA[Smarts-Object 一个对象字符串的智能工具]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/129087483</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/129087483</guid><author>Max_Law</author><pubDate>Fri, 17 Feb 2023 15:08:23 +0800</pubDate><description><![CDATA[一款根据 JS 对象字符串智能查找对象值，新建对象，改变对象值，并提供 vue.$set 使用帮助的工具。]]></description><category></category></item><item><title><![CDATA[JS篇 - 事件绑定&事件冒泡与捕获]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103595970</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103595970</guid><author>Max_Law</author><pubDate>Wed, 18 Dec 2019 13:18:46 +0800</pubDate><description><![CDATA[大家在做笔试题的时候肯定经常会遇到事件绑定和事件冒泡与捕获的问题，这篇我们来详细解析 JavaScript 的事件绑定，先创建下面的 test.html 文件，里面包含了四个相互嵌套的 div 。
&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head lang="en"&gt;
    &lt;meta charset="UTF-8" /&gt;
    &l...]]></description><category></category></item><item><title><![CDATA[计算机与网络篇 - 应用层缓存机制]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103525220</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103525220</guid><author>Max_Law</author><pubDate>Fri, 13 Dec 2019 13:21:52 +0800</pubDate><description><![CDATA[上篇我们讲到浏览器缓存策略中的 HTTP 缓存机制，接下来我们继续浅谈一下浏览器应用层面中的缓存机制，跟上篇一样先看看应用层缓存的类别有哪些？
进入 Chrome 的开发者模式选择 Application 页签，可以看到下图（ Background Services 为新版 Chrome 才会有 ）

我们来一项项的说明：




栏目
项目
描述




Application
Manifest...]]></description><category></category></item><item><title><![CDATA[计算机与网络篇 - HTTP 缓存机制]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103413615</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103413615</guid><author>Max_Law</author><pubDate>Thu, 05 Dec 2019 22:25:31 +0800</pubDate><description><![CDATA[接着上篇《&lt;计算机与网络篇 &gt; web缓存机制》，其细分出来四个缓存机制，而前端工程师能干预的也只有浏览器缓存这一项了，其中浏览器缓存又包括了 HTTP 缓存与应用层缓存，要讲 HTTP 缓存机制，我们首先讲讲关于浏览器缓存的一些基本知识。
既然是缓存，那肯定有储存的地方，具体上我们把 HTTP 请求的缓存空间分为这么四大类：
HTTP 的缓存空间

Service Worker
Se...]]></description><category></category></item><item><title><![CDATA[算法篇 - 超整数相加问题]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103405245</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103405245</guid><author>Max_Law</author><pubDate>Thu, 05 Dec 2019 15:13:39 +0800</pubDate><description><![CDATA[问题：实现超出整数范围的相加计算。

剖析
为了深入理解这个问题，我们要解决一下三点：

为什么会有最大范围，最大范围是多少？
如何实现超整数相加？
【延伸】浮点数精度问题？

一、为什么会超出？
众所周知现在我们的计算机基本都进入了64位的处理器时代，这里的64位表示着每个时钟周期能处理64个电信号。而对于存储数字来说（内存地址），我们一般都是用64位二进制记录，因为精度已经足够了。而规定这个...]]></description><category></category></item><item><title><![CDATA[算法篇 - 计算不规则容器积水量]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103405232</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103405232</guid><author>Max_Law</author><pubDate>Thu, 05 Dec 2019 15:13:05 +0800</pubDate><description><![CDATA[问题：如何计算不规则容器积水量？
这是一道 Twitter 算法面试题，题目很好理解，就是求蓝色格子的数量：



我们先用最原始的方法来做，算每一列可蓄水量的和，而积水的充分必要条件是两边高中间低，那么每一列可蓄水的量是多少呢？
我们假定该侧的左挡板的高度为 L(i)，自身为M(i)，右侧为R(i)，蓄水量为V(i);
//先写伪代码
IF Min(L(i),M(i),R(i)) === M(...]]></description><category></category></item><item><title><![CDATA[CSS篇 - 盒子模型]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103405207</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103405207</guid><author>Max_Law</author><pubDate>Thu, 05 Dec 2019 15:12:13 +0800</pubDate><description><![CDATA[阐述一下盒子模型以及它有什么特殊的应用，BFC是什么？

这是一道大厂百分百会考的题目，毕竟css的知识点多而杂，就盒子模型比较系统一点，适合当考题。
盒子模型

1. 所有HTML元素可以看作盒子，在CSS中，"box model"这一术语是用来设计和布局时使用。
2. CSS盒模型本质上是一个盒子，封装周围的HTML元素，它包括：边距，边框，填充，和实际内容。
3. 盒模型允许我们在其它元素...]]></description><category></category></item><item><title><![CDATA[JS篇 - 异步函数执行顺序问题]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103404981</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103404981</guid><author>Max_Law</author><pubDate>Thu, 05 Dec 2019 15:08:19 +0800</pubDate><description><![CDATA[大家做笔试题的时候一定遇到过判断异步函数执行顺序的题目，包含setTimeout，setInterval，Promise，Async等等，来一道基础题，抛砖引玉一下：
for (var i = 1;i &lt; 6;i ++) {
  setTimeout(function fn() {
      console.log(i)
  },i * 1000)
}

对于萌新来说，发现在控制台打印的是...]]></description><category></category></item><item><title><![CDATA[计算机与网络篇 - web缓存机制]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/103404915</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/103404915</guid><author>Max_Law</author><pubDate>Thu, 05 Dec 2019 15:02:00 +0800</pubDate><description><![CDATA[前端面试除了常见的JS与CSS，也会问一些有关于计算机基础，网路通信类的知识，比如：缓存机制，常见的状态码，三次握手等等，这一篇我们来介绍有关于缓存机制的问题。
缓存机制是一个很大的概念，我们身为前端工程师针对的应该是web端的缓存机制问题，当面对如何优化网站时亦可加入此项于与补充，首先我们先介绍web缓存机制有哪些种类：
1. 数据库缓存
web在向应用服务器读取数据并展示到浏览器的过程中会多次...]]></description><category></category></item><item><title><![CDATA[Node-js-自动化工具---YEOMAN]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469493</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469493</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:52:04 +0800</pubDate><description><![CDATA[接着上篇的《 利用Node.js搭建前端自动化平台 》我们开始搭建自己的前端工作流吧！
要启动一个项目，最先要做什么？当然是搭建一个目录结构，新建一个带项目名字的文件夹，再新建一个app文件夹，里面要有common，css，img … 对了，还要有test文件夹写单元测试，嗯 ~ 大概长这样子吧
ProjectName/
├── app/  "app = Application	(应用)"
│  ...]]></description><category></category></item><item><title><![CDATA[利用Node-js搭建前端自动化平台]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469475</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469475</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:51:06 +0800</pubDate><description><![CDATA[我们在前面《 Node.js的本质 》一文中初步了解Node.js后，发现它功能很多呀，这么牛逼的东西赶紧学习。然而我一直翻看网上各种的教程，文档，都是什么学习node内核呀，API呀，node项目呀，看得头晕眼花，这个学习曲线这么陡，简直打击热情嘛，经过我一番纠结，终于确定了学习的路线，Node.js我为其总结三大块功能：

利用Node.js搭建后台；
利用Node.js编写脚本；
利用Nod...]]></description><category></category></item><item><title><![CDATA[Node-js-自动化工具---Gulp]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469463</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469463</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:50:31 +0800</pubDate><description><![CDATA[接着上篇的《 Node.js 自动化工具 - Bower 》我们开始学习另一个强大的自动化工具吧！
打开它的官网 Gulp 中文网，当我点开它的那刻是激动的，居然有中文！浏览完网站后，风格简洁呀！对，不止 display 简洁，文档也真的是很简洁，本来以为能轻松学习的，没想到后面还是要补充很多其他知识点 -_-||

“ 一个服务于前端的管道式构建系统 ”
自动化的构建项目，实现 JavaScri...]]></description><category></category></item><item><title><![CDATA[Node-js-起步]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469394</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469394</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:47:30 +0800</pubDate><description><![CDATA[给同为前端同学的 Node.js 学习分享
本人已各种各样的文档中挣扎了很久了，下面的内容都以实现为目的最简单化的流程笔记。
环境搭建

下载Node
进入 node中文网 直接下载相应的版本即可；
直接装在C盘吧，像我这种C盘轻度洁癖症患者经过各种搞事后还是决定无脑点击下一步的安装方式，这样可以避免你非常多的麻烦；
cnpm
cnpm是某宝提供的镜像工具，是npm的国内版。
安装node后会自带...]]></description><category></category></item><item><title><![CDATA[Node-js的本质]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469382</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469382</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:47:00 +0800</pubDate><description><![CDATA[上一篇文章《 Node.js 起步 》中我们先是动手搭建了Node.js环境，为了更好的学习它必须要理解Node.js的本质。
##Node.js是什么?

“ Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快，性能非常好。Node.js对一些特殊用例进行了优化，提供了替代的API，使得...]]></description><category></category></item><item><title><![CDATA[移动端虚拟键盘引发的问题分析]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469371</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469371</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:46:19 +0800</pubDate><description><![CDATA[我在工作的过程中无论是与原生结合的Hybird的H5页面或者微信公众号页面都会遇到当触发键盘输入行为时，页面窗口往上离开屏幕（与iOS的适配）或者页面高度变小（在微信中打开页面等），现在我们来分析一下各种情况以及解决的方法。
iOS中页面往上顶的情况
// 兼容ios弹出键盘改变页面问题
if (_browser.versions.ios) { //判断是否为ios环境
    $('body')...]]></description><category></category></item><item><title><![CDATA[判断环境为iOS或Android]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469363</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469363</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:45:35 +0800</pubDate><description><![CDATA[因在Hybird开发中，iOS与Android的浏览器内核的不同，对页面的各种行为也会有不同的解析情况，所以我们需要针对不同的表现区分页面运行的环境。
获取完整的内核信息：
var _browser={
    versions:function(){
        var u = navigator.userAgent;
        return {         //移动终端浏览器版本...]]></description><category></category></item><item><title><![CDATA[ios中textarea颜色无法改变问题]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469346</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469346</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:44:55 +0800</pubDate><description><![CDATA[在我开发微信公众号的流程页面时，里面有一个textarea的输入框，无论我怎么修改样式，发现他的文字颜色一直都未灰色，如图：

但是Android却没有什么问题，最后才发现原来是 disable 惹的祸，在ios系统下disable是有默认样式的。
&lt;textarea class="readTextarea" v-if='childReadonly' maxlength='200' disa...]]></description><category></category></item><item><title><![CDATA[Hybird方案-概述]]></title><link>https://blog.youkuaiyun.com/Max_Law/article/details/89469302</link><guid>https://blog.youkuaiyun.com/Max_Law/article/details/89469302</guid><author>Max_Law</author><pubDate>Tue, 23 Apr 2019 11:43:01 +0800</pubDate><description><![CDATA[“Hybrid” 这个词越来越多的出现在人们的视野中。比如在汽车行业内，代表着混合动力版的意思（丰田最近主打的 Hybrid 型号），在音响设备业则代表着混响的概念，轮到我们所处的互联网行业则代表着 native 与 H5 之间的混合开发。
hybird
['haɪbrɪd] / hy 发 high ；bird 也别当鸟的单词念
n. 杂种，混血儿；混合物
adj. 混合的；杂种的

Hybrid...]]></description><category></category></item></channel></rss>