23-0216


获取随机数


1) 随机获取 x~y 之间的一个整数,其中 x 和 y 都是整数。

通过分析,random() 乘以某个数 v1 再加上另一个数 v2 后再进行四舍五入,

可获得 v2~v1+v2 之间的随机整数,由此可总结获取任意两个数 x~y 之间的随机整数的一般公式如下:

Math.round(Math.random()*(y-x)+x)

例如假设 x=26,y=37,求两个数之间的随机整数的代码如下:

1. var x = 26,y = 37;

2. alert(Math.round(Math.random()*(y-x)+x));

运行上述代码后可发现结果正是 26~37 之间的一个随机整数。


2) 随机获取 0~x 之间的一个整数,其中 x 是一个整数:

Math.round(Math.random()*x)

首先使用 Math.random()*x 可得到 0~x 之间的一个随机数,

然后再使用 Math.round() 对 0~x 之间的随机数进行四舍五入,最终就可得到 0~x 之间的一个随机整数。

线上回滚

有时我们提交了错误的代码到远程,

如果我们不想要错误的那部分提交记录(包括代码)该如何操作?

本地 执行 git reset --hard xxxx

强制提交到github远程仓库

git push -f

推上去就发现错误的commit都不见了

参考资料:

https://blog.csdn.net/qq_52596258/article/details/125356146

指定数组key

数组的key一般都是连续的下标,

那我们如何为数组指定key,

也可能是不连续的key。
  const data = [
    { id: 1, name: "i1" },
    { id: 2, name: "i2", parentId: 1 },
    { id: 4, name: "i4", parentId: 3 },
    { id: 3, name: "i3", parentId: 2 },
    { id: 8, name: "i8", parentId: 7 },
  ];

let idsObj = data.reduce((p, c) => Object.assign(p, { [c.id]: c }, {}), []);
console.log(idsObj);s

// 打印结果发现, 数组中有很多empty, 
// 例如key为1的前面就有一个empty,这是因为下标为0的我们没有指定!后面可能还有很多

mac关闭同源策略

终端执行

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/lixiaofei/MyChromeDevUserData/

用户名替换成自己的用户名,

之后就会发现会重新弹出一个浏览器窗口,

这个就是关闭同源策略之后的窗口,

也是进行调试时跨域的一个方案。

参考资料:

https://blog.csdn.net/Ronychen/article/details/119026362

qiankun 主应用与子应用之间的传值

// 简介: qiankun 是一个微前端框架  https://qiankun.umijs.org/zh
// 创建 actions.js

import { initGlobalState } from 'qiankun'
const initialState = {}
const actions = initGlobalState(initialState)
export default actions
// 调用setGlobalState()方法对初始值进行修改

import { action } from '../plugins/action';

action.setGlobalState({ route: route.path, inputValue: inputValue.value, test: "x" });
// 子应用配置
// 子应用在mount生命周期中使用onGlobalStateChange来接收参数

export async function mount(props) {
  console.log('应用每次进入都会调用 mount 方法,通常我们在这里触发应用的渲染方法', props)
  // state: 变更后的状态; prev 变更前的状态
  props.onGlobalStateChange((state, prev) => {
    console.log('子应用接收的参数', state)
    console.log('子应用接收参数--menuId', state.menuId)
    console.log('子应用接收参数--路由', JSON.parse(state.childrenRouter))
    if (state.menuId) {
      store.commit('SET_MENU_ID', state.menuId)
    }
  }, true)
  render(props)
}
参考资料

https://blog.csdn.net/cwin8951/article/details/128498395

https://blog.csdn.net/qq_41453709/article/details/127056803

DNS解析原理

无须多言!一张图来说明。

hexo支持图片展示

简介:

在typora中直接以 ''的方式即可展示出图片,

无须本地文件夹保存图片,

src直接使用图床生成的图片地址。

步骤: 

1.安装插件

2.设置 post_asset_folder: 为 true

3.直接写入img标签引入图片

参考资料: 

https://zhuanlan.zhihu.com/p/542101567

文章作者: KarlFranz
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source KarlFranz !
评论
  目录