• 函数柯里化实现

    柯里化(Currying)是一种关于函数的高阶技术。它不仅被用于 JavaScript,还被用于其他编程语言。 柯里化是一种函数的转换,它是指将一个函数从可调用的 f(a, b, c) 转换为可调用的 f(a)(b)(c)。 柯里化不会调用函数。它只是对函数进行转换。 // 功能: 传入一个函数 将该函数自动柯里化 /** * @param {Function} fn */ function currying(fn) { //返回柯里化后的函数 //此函数可接受部分参数 return function curryed(...args) ...

    2022 年 4 月 8 日 星期五(已编辑)
    /
    16
    阅读全文
  • 函数防抖(debounce)的实现

    What is 防抖? 在事件触发n秒后再执行回调,如果在这n秒期间又被触发,则重新记时,也就是说在n秒之内只执行最后一次触发 执行过程 当事件触发时,相应的函数不会立即触发,而是会等待一定的时间 当事件密集触发时,函数的触发将会频繁重置延迟 只有延迟时间内再无任何事件触发,才会执行真正的响应函数 <img src="https://docs.hgyn23.cn/static/a426833e5d485957c71ee7c5a7870856" width="600px" height="auto" alt="a426833e5d485957c71ee7c5a78...

    2022 年 4 月 5 日 星期二(已编辑)
    /
    12
    阅读全文
  • call\apply\bind实现原理解析

    fn.call方法原理 Function.prototype.v2call = function (thisArg, ...args) { //目的:将传入的thisArg对象作为调用v2call的函数的this指向 //使用fn变量存储this 此时fn指向调用v2call的函数对象 这里是foo var fn = this; //边界判断 如果不为空 将原始字面量转化为实例对象 否则thisArg指向window thisArg = thisArg ? Object(thisArg) : window; //thisArg新增...

    2022 年 4 月 5 日 星期二(已编辑)
    /
    11
    阅读全文
  • Vuejs使用watch侦听器侦听数据时遇到的一系列问题

    执行顺序的问题 侦听子组件中获取的数据 在data中初始化一个变量,并在watch中侦听,在methods中发起异步请求前将数据赋值给这个变量时,watch中触发的回调函数和methods中等待异步执行完毕前还未执行的代码谁会先执行? 等待methods异步执行完毕,继续执行还未执行的代码,然后执行监听器中的回调函数。 父组件获取数据,传递给子组件 父组件中的data初始化一个变量,通过异步请求获取数据赋给该变量并传递给子组件,子组件中使用watch进行侦听,代码谁先执行? `继续执行父组件还未执行的代码,执行完后按顺序被子组件中的watch侦听到并执...

    2021 年 12 月 24 日 星期五
    / ,
    12
    阅读全文
  • 浏览器中键入网址再按下回车,发生了啥?

    摘要: 一道经典的面试题,涵盖的知识点非常多,有必要探寻下该问题,对知识体系进行梳理。

    系统层 发起http请求,解析域名 DNS Chrome搜索自身DNS缓存。chrome输入chrome://net-internals/#dns可查看 搜索操作系统自身DNS缓存 读取本地HOST文件 以上都查询不到时,浏览器发送一个DNS的系统调用,DNS请求到达宽带运营商服务器。 宽带运营商服务器查询自身缓存 没查询时,发起一个迭代(顶级域--次级域名--...)的DNS解析请求,直到获取到域名对应的...

    2021 年 12 月 18 日 星期六(已编辑)
    /
    34
    阅读全文
  • 前端站点部署流程

    今天把服务器玩崩了 重装了一下 顺便过了一下部署站点的流程 以此记录 日后再次部署可加快效率 更新软件包 确保 apt-get 安装最新版本的软件包 sudo apt update Git 安装和配置 安装 sudo apt-get install git 配置 配置git用户名和邮箱: git config --global user.name "Your Name" git config --global user.email "youremail@yourdomain.com" 验证配置: ...

    2021 年 12 月 3 日 星期五(已编辑)
    /
    20
    阅读全文
  • Vuejs搭建Server-render项目简要流程

    概要 Vue.js Vue.js是构建客户端程序的框架,默认情况下,Vue.js可以在浏览器输出vue组件,并进行生成和操作DOM。 服务端渲染 服务端渲染(Server-Side Rendering),是指由服务侧完成页面的 HTML 结构拼接的页面处理技术,发送到浏览器,然后为其绑定状态与事件,成为完全可交互页面的过程。 与客户端渲染的区别 两张图说明 ![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/421469d3f7694f5da604a2c12169...

    2021 年 11 月 16 日 星期二(已编辑)
    /
    15
    阅读全文
  • vue-element-admin 学习记录

    vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。 项目目录结构 ├── build // 构建相关    ├── config // 配置相关 ├── src // 源代码 │   ├── api // 所有请求 │   ├── assets // 主题 字体等静态资源 │   ├── ...

    2021 年 11 月 5 日 星期五(已编辑)
    /
    12
    阅读全文
  • 理解代理

    假如去某个小区找人,DNS可以帮我定位到是哪栋大楼,URI可以帮我定位到是哪个房间。 正向代理: 假如我【客户端】想找小强【服务端】借钱,但是我不好意思。我去找小李【代理】,然后让小李找小强借。对于小强来说他以为是小李找他借钱,而不是我。 反向代理: 同样是借钱,这回我【客户端】找小李【代理】借钱,小李没钱了,他去找小强【服务端】借钱,然后再把钱借给我,对我来说我认为是小李借钱给我,而不是小强。 总结: 正向代理的代理服务器是部署在客户端,而对服务端来说,它以为对它发起请求的是代理服务器,而真正请求的客户端对服务端来说是不可见的。 反向代...

    2021 年 11 月 5 日 星期五(已编辑)
    /
    14
    阅读全文
  • router.addroutes 动态添加路由表实现权限控制

    开发后台管理系统会涉及到根据用户权限来动态渲染侧边栏的问题,在vue2.2.0之后可以使用router.addroutes()来方便动态添加路由了。 addRoutes (routes: RouteConfig[]): void; //动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数组。 先介绍下实现侧边栏动态渲染的大致方式: 在router.js中配置静态路由表: export const constantRouterMap = [{ path: '/logi...

    2021 年 11 月 5 日 星期五(已编辑)
    /
    31
    阅读全文
关于关于本站关于我关于此项目
更多时间线友链
联系写留言发邮件GitHub

© 2020-2025 van. | RSS | 站点地图 | | Stay hungry. Stay foolish.

Powered by Mix Space | © 2023 - 闽ICP备2021008516号-1 |