JavaScript
JavaScript
快乐征途
提高自身能力才是硬道理。
展开
-
clipboard.js 复制成功多次触发成功事件
clipboard 文档地址https://www.npmjs.com/package/clipboard伪代码<template> <div> <el-button @click="handleCommand('any string')">复制</el-button> <button ref="copyBtn" @click="doCopy" style="display: none">copy</button&原创 2022-05-12 10:11:10 · 924 阅读 · 0 评论 -
JavaScript 中监听 div 高度的变化
实现功能描述:基于 vue + elementUI,在 Dialog 中有一个 Select 选择器,当 Select 的下拉列表显示时,要求高度能够撑开 Dialog。实现效果如图:实现实际项目代码结构稍微复杂,在这只说重点A 组件伪代码:<template> <div> ... <el-dialog title="提示" :visible.sync="dialogVisible" size="mini"原创 2021-11-08 12:19:53 · 4528 阅读 · 0 评论 -
JavaScript 中添加事件函数 addEventListener 的介绍
在addEventListener事件委托中第三个参数,可以设置为bool类型(useCapture)或者object类型(options)。object类型(options)包括三个布尔值选项capture:true使用事件捕获;false使用事件冒泡(默认值)once:true只调用一次,在调用后自动销毁listener;false可以多次调用(默认值)passive:不同浏览器默认值不同。true监听函数listener永远不调用preventDefault方法。根据规范,默原创 2021-04-15 17:09:39 · 542 阅读 · 0 评论 -
JavaScript 中作用域的理解
执行上下文(Execution Context)每当控制器转到可执行代码的时候,就会进入一个可执行上下文,就是当前代码的执行环境,它会形成一个作用域。javascript中的执行环境包含三种:全局环境函数环境eval执行上下文的生命周期当调用一个函数时,一个新的执行上下文会被创建,它包含两个阶段:创建阶段在这个阶段,执行上下文会创建变量对象(VO),作用域链(scopeChain),确定this指向代码执行阶段创建完成之后就开始执行代码,这个时候会完成变量赋值,函数引用,以原创 2021-04-15 17:08:01 · 85 阅读 · 0 评论 -
JavaScript 常用正则表达式
replace使用正则模式匹配// 目标输出:zheng liconst str = 'li zheng'; console.log(str.replace(/(\w+) (\w+)/, '$2 $1'));第二个参数是函数let str = 'select * from $ { aa } fldsfdsjfljsdf $ { bb }'// 目标是把上面字符串中的$ { aa }替换成没有空格的${aa}str = str.replace(/\$ {([^}]*)}/g, fun原创 2021-04-14 15:11:00 · 52 阅读 · 0 评论 -
JavaScript 中 0 和 null 的判断
描述假如后端接口返回数据type,type取值为0,1,2,3,4(都是数字类型)这四个值是有效值,当type取不到值的时候返回null。现在,前端请求接口获取到数据后,拿到type,当type为null时,需要给一个默认值2,那么你会怎么赋值?// 接口返回的报文体假如是这样的const res = { success: true, data: { type: null }}// 前端变量typeconst type = res.data.typ.原创 2021-03-24 16:25:50 · 3422 阅读 · 1 评论 -
JavaScript 中 offsetWidth,offsetHeight,clientWidth,clientHeight 等属性归纳
JS中的offsetWidth、offsetHeight、clientWidth、clientHeight原创 2019-03-07 15:16:09 · 839 阅读 · 0 评论 -
monaco-editor 在实际项目中的使用
monaco官方文档: https://microsoft.github.io/monaco-editor/api/index.html安装:npm install monaco-editor// main.js中import * as monaco from 'monaco-editor'Vue.prototype.$monaco = monacovue组件:<template> <div> <!-- sql container-->原创 2021-04-28 16:35:13 · 2279 阅读 · 0 评论 -
memoize-one 记忆函数源码解析
例如有一个add函数function add(a,b) { return a + b;}现在要对add函数的返回结果进行缓存,就是第一次计算出a+b的结果会进行缓存,下次入参如果不变立即返回结果,不会再执行add函数。实现简版定义一个memoize的方法,接受一个函数作为参数,返回也是一个函数function memoize(fn) { // 返回一个函数 return function () { // 1.获取参数 let _len = arguments.le原创 2021-04-15 17:06:12 · 560 阅读 · 0 评论