0x01 es6 之前的作用域 全局作用域 函数作用域 由于上面的两种作用域,在 JavaScript 中存在一个术语:变量提升(hoisting),如下: function func(){ console.log(test); var test = 1;};func(); 执行的结果并不是”test is not defined” ,而是 undefined. 这是因为在执行 func() 时,使用 var 定义的 test被提升到函数顶部进行定义(var test),与下面的代码的结果相同: function func(){ var tes ...
解决使用 yarn 安装 node-sass 时速度过慢的问题
1.在项目根目录下新建.yarnrc 文件 添加以下文件: registry "https://registry.npm.taobao.org"sass_binary_site "https://npm.taobao.org/mirrors/node-sass/" 2.如果想修改服务器或本机的配置 执行: yarn config set registry https://registry.npm.taobao.orgyarn config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
在 museUI 中使用 material icon
museUI是基于 Vue 2.0 优雅的 Material Design UI 组件库,同时也是为数不多的支持移动端的 material 风格 ui 框架,在使用的时候发现,如果要使用 museUI 的 icon,需要从 CDN 上引入字体图标库: <link rel="stylesheet" href="https://cdn.bootcss.com/material-design-icons/3.0.1/iconfont/material-icons.css"/> 但是我大天朝自有国情在,外部 cdn 很有可能无法访问,因此我们需要把这些 icon 都保存到本地. 下面是 ...
在 vue 项目中使用拖拽表格
element-ui 中的 table 组件无法满足自定义拖拽的需求,因此我们使用 sortablejs 中的 vuedraggable来实现. <template> <div class="row"> <div class="col-8"> <h3>Draggable table</h3> <table class="table table-striped"> <thead class="thead-dark"> <tr> ...
css 实现动态渐变效果
使用 css3 中的linear-gradient,加上 css3 中的 动画(animation),可以轻松地实现动态渐变效果.(css 是最难的语言 😢.) 效果实现设置渐变背景参考linear-gradient api: https://developer.mozilla.org/zh-CN/docs/Web/CSS/linear-gradient 简单示例: /* 渐变轴为45度,从蓝色渐变到红色 */linear-gradient(45deg, blue, red);/* 从右下到左上、从蓝色渐变到红色 */linear-gradient(to left top, blue, ...
mysql数据去重
去重可以采用两种方法: DISTINCT和 GROUP BY DISTINCT有如下的一张表: select distinct name from A 执行后结果如下: select distinct name, id from A 这样是同时匹配 name 和 id,也就是说,只有 name和 id 都相同才会被去重. GROUP BYSELECT id FROM t1 GROUP BY t1.id WHERE t1.name = "test_name" 这样可以将 t1 的数据按照 id 来分组,根据 where 条件查询,并返回分组第一条的 id,如果要返回每个分组里面最大的 id ...
mac配置python 虚拟环境 virtualenv
The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these libraries? If you install everything into your host python (e.g. ...
webpack-bundle-analyzer的使用
webpack-bundle-analyzer是 webpack 的一个插件,用来生成代码分析报告,用来提高代码质量和网站性能. 安装# Nnpmnpm i -D webpack-bundle-analyzer# Yarnyarn add -D webpack-bundle-analyzer 在 vue 项目中使用配置vue.config.js module.exports = { publicPath: "./", chainWebpack: config => { config.plugin("webpack-bundle-analyzer").use( ...
使用 alfred 结合 sm.ms构建自动上传图片脚本
平时在写博客的时候上传图片是一个很头疼的事情,需要完成以下步骤: 截图 保存成文件 上传到图床 获取文件地址 到文章中黏贴 这样一套流程真的很复杂,同时浪费了很多时间,我们使用 alfred 结合 sm.ms 的 api 可以便捷地完成这项工作. ps.本篇博客中的所有图片均由脚本完成上传. 截图工具选择截图可以选择 mac 自带的截图工具,但是不能再截取以后编辑,这里我推荐 xnip,免费版本足够用,功能相当强大. 获取 sm.ms Authorization 到 sm.ms 注册/登录以后拿到 token,然后看下接口文档:https://doc.sm.ms/#api-Image- ...
理清 js 中的 this
JavaScript 中的 this 的指向,完全取决于调用的方式. 调用全局调用console.log(this); //全局对象,在浏览器中为 window 对象,在 nodejs 中为 global,方便起见,后面我们都是在浏览器中运行,即全局对象为 window 直接作为函数调用函数可以被直接调用,这时 this 指向全局对象.比如下面的例子: function f1(a1) { this.a1 = a1;}f1(1);console.log(window.a1); //1//a1 已经成为一个全局对象 注意在全局模式中,函数的 this 为 undefin ...