<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zjq_supperman的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zjq_supperman</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zjq_supperman]]></copyright><item><title><![CDATA[手写Array原型方法]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/122314030</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/122314030</guid><author>zjq_supperman</author><pubDate>Tue, 04 Jan 2022 23:28:38 +0800</pubDate><description><![CDATA[手写Array.prototype.reduce|Array.prototype.map|Array.prototype.flag方法]]></description><category></category></item><item><title><![CDATA[Typescript实现Promise,[then|catch|finally|resolve|reject|race|all|any]]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/122150402</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/122150402</guid><author>zjq_supperman</author><pubDate>Sat, 25 Dec 2021 23:40:07 +0800</pubDate><description><![CDATA[ES6 Promise详细源码实现，包含then/catch/finally/resovle/reject/all/race/any]]></description><category></category></item><item><title><![CDATA[为什么0.1+0.2不等于0.3]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/121462411</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/121462411</guid><author>zjq_supperman</author><pubDate>Sun, 21 Nov 2021 23:04:03 +0800</pubDate><description><![CDATA[⭐️原理
整数计算
正数十进制转二进制
三十二位 第一位为符号位0正1负，剩余三十一位表示二进制数据
负数用补码表示（为何？）
反码和补码的概念
反码就是取反后得到的二进制数据，补码就是反码+1得到的二进制数据
例-1用二进制由32个1表示
浮点数计算
小数采用乘2取整法，直到没有小数位，但存在一些数值无限循环，无法取整
二进制转十进制，小数点后面的指数幂是负数
用浮点数存储小数，采用IEEE制定的国际标准
符号位+指数位+尾数
符号位表示正负，指数位指定小数点在数据中的位置，指数位长度长，表达数据范围大
]]></description><category></category></item><item><title><![CDATA[部署Express项目到腾讯云-详细]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/121436200</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/121436200</guid><author>zjq_supperman</author><pubDate>Sat, 20 Nov 2021 10:48:50 +0800</pubDate><description><![CDATA[步骤

将本地的express项目上传至github；
云服务器上安装git，拉取项目至指定目录
安装node，与本地的版本最好保持一致，避免出现问题
安装nrm管理镜像源

# 全局安装nrm,使用nrm管理镜像
npm install -g nrm
# 列出所有镜像
nrm ls
  #npm ---------- https://registry.npmjs.org/
  #yarn --------- https://registry.yarnpkg.com/
  #tencent ------ h]]></description><category></category></item><item><title><![CDATA[LocalStorage本地存储记录历史记录，歌曲播放时间，进度条]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/115299166</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/115299166</guid><author>zjq_supperman</author><pubDate>Mon, 29 Mar 2021 14:18:39 +0800</pubDate><description><![CDATA[LocalStorage本地存储localStorage和sessionStorageparsestringify记录搜索历史记录记录歌曲播放时间，进度条
localStorage和sessionStorage
前者生命周期是永远，sessionStorage的生命周期是当前窗口或当前标签页，
两者都能够存储字符串类型的对象，不同浏览器不能共享localStorage中的信息
parse
JSON字符串转为对象
stringify
对象转JSON字符串转
记录搜索历史记录
async beforeMount]]></description><category></category></item><item><title><![CDATA[Vue3-KeepAlive，多个页面使用keepalive]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/115173030</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/115173030</guid><author>zjq_supperman</author><pubDate>Wed, 24 Mar 2021 15:01:33 +0800</pubDate><description><![CDATA[Vue3-KeepAlive`Vue3`的生命周期未添加keepAlive的生命周期添加keepAlive的生命周期在`VueApp`中配合`vue-router`使用`keepalive`
Vue3的生命周期
未添加keepAlive的生命周期
beforeCreate=&gt;created=&gt;beforeMount=&gt;mounted=&gt;beforeUpdate=&gt;updated=&gt;beforeUnmount=&gt;unmounted
添加keepAlive的生命周期
a]]></description><category></category></item><item><title><![CDATA[Vue3-歌词根据时间自动滚动]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/115166530</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/115166530</guid><author>zjq_supperman</author><pubDate>Wed, 24 Mar 2021 11:52:35 +0800</pubDate><description><![CDATA[Vue3-歌词根据时间自动滚动创建结构，给合适的样式JS处理字符串，DOM，使得歌词滚动起来引用歌词，并实现滚动
创建结构，给合适的样式
&lt;div class="lyric" v-show="isLyric" @click="isLyric = !isLyric" ref="playLrc"&gt;
    &lt;div class="scroll-lrc"&gt;
        &lt;p
            :class="{ active: getStateFn(item.time, i]]></description><category></category></item><item><title><![CDATA[Vue3-APP首页Swiper组件实现轮播图]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/115163695</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/115163695</guid><author>zjq_supperman</author><pubDate>Wed, 24 Mar 2021 10:44:01 +0800</pubDate><description><![CDATA[Vue3-APP首页Swiper组件实现轮播图引入Swiper,封装自己的Swiper组件在首页引用上一步封装的Swiper组件
引入Swiper,封装自己的Swiper组件
npm i swiper

引入初始代码
&lt;div class="swiper-container"&gt;
    &lt;div class="swiper-wrapper"&gt;
        &lt;div class="swiper-slide"&gt;Slide 1&lt;/div&gt;
        &lt]]></description><category></category></item><item><title><![CDATA[Linux(CentOS7)腾讯云服务器命令行安装nodejs npm]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/111684435</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/111684435</guid><author>zjq_supperman</author><pubDate>Fri, 25 Dec 2020 15:55:46 +0800</pubDate><description><![CDATA[进入腾讯云实例

拷贝实例中的IP公网地址
百度云链接：https://pan.baidu.com/s/1DNBn3N_AWWnHIAyhowyIUQ
提取码：i5pv 下载putty.exe文件，下载后执行
输入IP地址，点击open
输入腾讯云的用户名以及密码

login as: root
root@188.131.193.21's password:
Last login: Fri Dec 25 15:06:18 2020 from 112.97.63.158
这样就已经与腾讯服务器正确建立连接了。]]></description><category></category></item><item><title><![CDATA[开发UI框架并部署到NPM服务器]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/111168379</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/111168379</guid><author>zjq_supperman</author><pubDate>Mon, 14 Dec 2020 14:27:56 +0800</pubDate><description><![CDATA[新建空白文件夹
存放创建vue插件的文件
打开终端至文件夹路径执行npm init初始化package.json

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on the.]]></description><category></category></item><item><title><![CDATA[JSX render 组件 children PropTypes DOM state 表单 生命周期函数 Ajax promise]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/109261053</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/109261053</guid><author>zjq_supperman</author><pubDate>Thu, 05 Nov 2020 08:42:00 +0800</pubDate><description><![CDATA[React简介：起源于Facebook内部项目，用于架设INS的网站，13年5月份开源。
1 HTML模板
首先script标签的type属性必须为text/babel，属于JSX语法，需要用到三个库，react.development.js（React的核心库） react-dom.development.js 和babel.min.js
浏览器中使用babel编译JSX效率是非常低的

...]]></description><category></category></item><item><title><![CDATA[React 插槽 路由 重定向 Redux React-redux]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/109501259</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/109501259</guid><author>zjq_supperman</author><pubDate>Thu, 05 Nov 2020 08:17:16 +0800</pubDate><description><![CDATA[本文用于总结React常用知识。
1 React插槽
原理：组件中写入的HTML，可以传入到props中
使用{this.props.children}将子组件遍历展示
import React from 'react';
import ReactDOM from 'react-dom';

export default class App extends React.Component {
    render() {
        return(
            &lt;div&gt;
   ]]></description><category></category></item><item><title><![CDATA[React--井字棋小游戏]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/109276062</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/109276062</guid><author>zjq_supperman</author><pubDate>Mon, 26 Oct 2020 15:23:50 +0800</pubDate><description><![CDATA[安装较新版本的node.js，这里使用的是v15.0.1，用以记录React学习笔记。
1 搭建本地开发环境
在想要创建项目的文件夹下输入cmd


回车

输入命令npx create-react-app my-app等待项目初始化

]]></description><category></category></item><item><title><![CDATA[申请测试号 微信认证 初始化测试号菜单 微信返回多条消息 Java上传图片至微信服务器]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/109049841</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/109049841</guid><author>zjq_supperman</author><pubDate>Tue, 13 Oct 2020 15:11:59 +0800</pubDate><description><![CDATA[1申请微信测试号
官方文档：https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Requesting_an_API_Test_Account.html
源码地址：
https://github.com/bykenx/yc-project
1.1 测试号管理

使用微信扫码登录，自动生成APPID和APPsecret，设置URL和token
测试号管理页面：

用uTools工具进行内网穿透该工具会自动最小化到任务栏，同时按下A]]></description><category></category></item><item><title><![CDATA[E-R图设计和SQL脚本生成]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/108869197</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/108869197</guid><author>zjq_supperman</author><pubDate>Tue, 29 Sep 2020 15:45:24 +0800</pubDate><description><![CDATA[本文用来记录微信公众号的开发。
工具：Navicat Premium 12.0.22  数据库：mysql 5.7.30
1早晚安打卡E-R图设计和数据库脚本生成
1.1 E-R图设计
Navicat premium菜单栏点击模型，选择新建模型

选中表格

创建user表，添加一定数量的备用字段，userId选择自动递增

将openID（微信用户唯一性标识）和groupId设置为索引

在选项中填写引擎，字符集，自动递增

依次设计打卡记录表user_record，文案表text_temp，图片URL表]]></description><category></category></item><item><title><![CDATA[文件资源管理器右键卡死现象解决方案大全]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/108635460</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/108635460</guid><author>zjq_supperman</author><pubDate>Thu, 17 Sep 2020 09:49:03 +0800</pubDate><description><![CDATA[最近桌面右键，选择文件夹右键，选择文件右键电脑莫名其妙出现假卡死现象，甚是苦恼，在网上找遍各种方法，除了新建一个管理员账户之外，其他的都不适用，因此也算是试过了很多种方法，因此在这里总结一下，如果您的电脑出现了类似的情况，希望下面的几种方案会有一种适合您，谢谢。
博主电脑为Window 10系统
一：右键桌面卡死，过了许久都未反应
Window+R 输入 regedit 打开注册表，打开 计算机\HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMe]]></description><category></category></item><item><title><![CDATA[Javascript 绑定事件，删除事件，事件冒泡，事件捕获，取消冒泡，阻止默认事件]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/108533216</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/108533216</guid><author>zjq_supperman</author><pubDate>Fri, 11 Sep 2020 22:28:01 +0800</pubDate><description><![CDATA[本文是博主学习JavaScript的学习记录。
1 绑定事件
1.1 句柄绑定事件
onclick  等
onxxx = function(event) {}兼容性最好，但同一个dom对象只能绑定一个处理函数，基本等同于写在HTML行间上
由于function在预编译提升，所以只会执行下面的处理函数
var div = document.getElementsByTagName("div")[0];
div.onclick = function(e) {
    console.log("OK");
}
d]]></description><category></category></item><item><title><![CDATA[窗口属性尺寸，编辑CSS]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/108520387</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/108520387</guid><author>zjq_supperman</author><pubDate>Thu, 10 Sep 2020 23:58:29 +0800</pubDate><description><![CDATA[1 窗口尺寸
2 编辑CSS样式
只能编辑行间样式的CSS

]]></description><category></category></item><item><title><![CDATA[DOM 定时器 Date对象]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/108509125</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/108509125</guid><author>zjq_supperman</author><pubDate>Thu, 10 Sep 2020 16:24:23 +0800</pubDate><description><![CDATA[1 DOM
1.1 DOM基本操作
document
document.getElementById 根据ID获取dom元素
document.getElementsByClassName 根据ClassName获取元素集
document.getElementsByTagName  根据标签名称获取元素集
// 这两种获取的不是实时的，不常用
document.querySelector("div span");
document.querySelectorAll("div span");

docume]]></description><category></category></item><item><title><![CDATA[算法面试题：给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。]]></title><link>https://blog.youkuaiyun.com/zjq_supperman/article/details/108482002</link><guid>https://blog.youkuaiyun.com/zjq_supperman/article/details/108482002</guid><author>zjq_supperman</author><pubDate>Wed, 09 Sep 2020 09:24:17 +0800</pubDate><description><![CDATA[你可以假设每种输入只会对应一个答案。但是，数组中同一个元素不能使用两遍。
提示：给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
分析：
数组中同一个元素不能使用两遍，那么暴力解题法（双for循环）就不适用了，而且这种方法时间复杂度也比较高，这里考虑使用HashMap来解题。
思路
在for循环里面，求target和每次循环的数组值之差，在HashMap里get这个差，如果不能拿到，就把当前数组]]></description><category></category></item></channel></rss>