<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_41248310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_41248310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_41248310]]></copyright><item><title><![CDATA[node.js常用工具函数]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/126590757</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/126590757</guid><author>qq_41248310</author><pubDate>Mon, 29 Aug 2022 19:08:49 +0800</pubDate><description><![CDATA[node 中使用import export 只需把 js 文件后缀改成 .mjs 就能使用import export写法。复制文件夹目录以及里面的文件。删除指定路径下的所有文件夹和文件、压缩文件、睡眠]]></description><category></category></item><item><title><![CDATA[项目优化措施全面总结]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/126530210</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/126530210</guid><author>qq_41248310</author><pubDate>Thu, 25 Aug 2022 18:29:48 +0800</pubDate><description><![CDATA[体积层面 1、 图片压缩 、2倍图、按需引入组件、tree shaking、项目启动优化、memoizeOne、tree shaking、缓存]]></description><category></category></item><item><title><![CDATA[cnpm下载依赖包速度快的原理探究]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/125920905</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/125920905</guid><author>qq_41248310</author><pubDate>Thu, 21 Jul 2022 21:02:58 +0800</pubDate><description><![CDATA[源国内服务器gzip压缩支持解析依赖包之间依赖的算法（本人猜测）欢迎评论交流❤️更多前端知识欢迎关注公众号交流❤️这里有你想知道的web前端知识httpshttpshttpshttpshttps。]]></description><category></category></item><item><title><![CDATA[桌面应用开发，electron学习笔记]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/114128973</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/114128973</guid><author>qq_41248310</author><pubDate>Fri, 26 Feb 2021 14:21:20 +0800</pubDate><description><![CDATA[项目创建


mkdir my-electron-app &amp;&amp; cd my-electron-app
npm init -y
npm i --save-dev electron


打包并发布应用程序

1、导入 Electron Forge 到您的应用文件夹：


npx @electron-forge/cli import

2、创建一个分发版本：


npm run make


...]]></description><category></category></item><item><title><![CDATA[promise封装]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103970854</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103970854</guid><author>qq_41248310</author><pubDate>Tue, 14 Jan 2020 12:32:30 +0800</pubDate><description><![CDATA[function request({
    url,
    method = "get",
    data,
    headers = {},
    }) {
    return new Promise((resolve,reject)=&gt; {
        const xhr = new XMLHttpRequest();
        xhr.open(method, ...]]></description><category></category></item><item><title><![CDATA[观察者模式实现]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103287177</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103287177</guid><author>qq_41248310</author><pubDate>Fri, 10 Jan 2020 18:20:09 +0800</pubDate><description><![CDATA[/**
 * 发布订阅模式(观察者模式)
 * handles: 事件处理函数集合
 * on: 订阅事件
 * emit: 发布事件
 * off: 删除事件
**/

class PubSub {
  constructor() {
    this.handles = {};
  }

  // 订阅事件
  on(eventType, handle) {
    if (!this.ha...]]></description><category></category></item><item><title><![CDATA[js 实现双向绑定]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103928074</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103928074</guid><author>qq_41248310</author><pubDate>Fri, 10 Jan 2020 17:29:39 +0800</pubDate><description><![CDATA[双向绑定：视图更新时，数据会自动更新；数据更新时，也会触发视图更新。

下面这个例子参考了这篇博客：https://blog.youkuaiyun.com/q857637472/article/details/83060573


&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;m...]]></description><category></category></item><item><title><![CDATA[解决移动端IOS：input框输入完成，键盘关闭后位置上移问题]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103780173</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103780173</guid><author>qq_41248310</author><pubDate>Tue, 31 Dec 2019 11:43:00 +0800</pubDate><description><![CDATA[/**
 * 解决IOS：input框输入完成，键盘关闭后位置上移问题
 */

function fitIos() {
    var u = navigator.userAgent;
    var flag;
    var myFunction;
    var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
    if(isIO...]]></description><category></category></item><item><title><![CDATA[canvas函数封装（画圆形图片、文字换行）]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103779978</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103779978</guid><author>qq_41248310</author><pubDate>Tue, 31 Dec 2019 11:32:27 +0800</pubDate><description><![CDATA[1、画圆形图片


/**
 * 画圆形图片
 * @param {object} ctx canvas
 * @param {number} width 图像宽度
 * @param {number} height 图像高度
 * @param {number} x 开始位置
 * @param {number} y 结束位置
 * @param {string} url 图片地址
 */
fu...]]></description><category></category></item><item><title><![CDATA[前端将html导出为word文档（原生js篇）]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103277952</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103277952</guid><author>qq_41248310</author><pubDate>Wed, 27 Nov 2019 16:19:36 +0800</pubDate><description><![CDATA[1、对jquery.wordexport.js进行改装实现

2、下载的文档包含图片，文档类型可为doc、wps

3、结果预览



4、demo源码


&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;搞笑哲理故事&lt;/title&gt;
&lt;/head&gt;
&lt;style&gt;
    .do......]]></description><category></category></item><item><title><![CDATA[过滤用户输入恶意代码]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103046743</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103046743</guid><author>qq_41248310</author><pubDate>Wed, 13 Nov 2019 12:19:38 +0800</pubDate><description><![CDATA[let userInput = filterHTML('\&lt;script\&gt;alert("abc")\&lt;/script\&gt;'); // 恶意代码

function filterHTML(string) {
    let s = '';
    for (let i = 0; i &lt; string.length; i++) {
        let arg = ...]]></description><category></category></item><item><title><![CDATA[防抖与节流]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/103046653</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/103046653</guid><author>qq_41248310</author><pubDate>Wed, 13 Nov 2019 12:14:03 +0800</pubDate><description><![CDATA[防抖：每次触发事件时都取消之前的延时调用方法

&lt;buttonid="btn"&gt;测试&lt;/button&gt;
&lt;script&gt;
    function debounce(fn) {

let timeout = null; // 创建一个标记用来存放定时器的返回值

return function () {

clearTi...]]></description><category></category></item><item><title><![CDATA[微信小程序canvas在其他图片上画圆形图片]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/85046699</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/85046699</guid><author>qq_41248310</author><pubDate>Mon, 17 Dec 2018 11:21:37 +0800</pubDate><description><![CDATA[
wx.downloadFile({
      url: app.globalData.imgUrl2 + self.data.imgNumber+'.png', 
      success(res0) {
        if (res0.statusCode === 200) {
          console.log(res0)
          var card=res0.tem...]]></description><category></category></item><item><title><![CDATA[小程序图片使用filter后，设置border-radius失效]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/83894577</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/83894577</guid><author>qq_41248310</author><pubDate>Fri, 09 Nov 2018 11:05:41 +0800</pubDate><description><![CDATA[在设置image的父元素使用border-radius、overflow:hidden属性]]></description><category></category></item><item><title><![CDATA[微信小程序缓存（本地缓存，同步缓存，异步缓存）]]></title><link>https://blog.youkuaiyun.com/qq_41248310/article/details/83865398</link><guid>https://blog.youkuaiyun.com/qq_41248310/article/details/83865398</guid><author>qq_41248310</author><pubDate>Thu, 08 Nov 2018 18:03:36 +0800</pubDate><description><![CDATA[关于本地缓存

1.wx.setStorage（wx.setStorageSync）、wx.getStorage（wx.getStorageSync）、wx.clearStorage（wx.clearStorageSync）可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB

2.localStorage 是永久存储

一、异步缓存

wx.setStorage(OBJECT)

将数据存...]]></description><category></category></item></channel></rss>