- 博客(75)
- 收藏
- 关注

原创 【TS】JS/TS 类型转换、变量声明、解构与展开,以及五个 falsy 值
类型转化:任意类型转字符串String(x) (全局函数) x.toString() (局限性大,2个不能用)(ts:数字转字符串,用这个) x + '' (这个更常用)任意类型转布尔Boolean(x)(全局函数)(ts:用这个) !!x (老手用这个)但,不要总想把一些东西变成布尔,或许可以直接判断在不在:if (x!==undefined)...
2019-03-19 11:28:54
7781
2
原创 copilot使用初体验(一)
例如,vue中引入组件后需要在Components声明对应组件。,会自动生成函数(函数名+函数体),然后按下。需要在注释最前面写:正则表达式。1、写一个注释,按下。只需要写出几个关键词。
2023-07-18 22:28:26
833
原创 【原生JS-11】如何实现继承?
1.用构造函数和原型链实现2.class1.不用class第一步是在子类的构造函数中,调用父类的构造函数,并且传入this。让子类实例具有父类实例的属性。父构造函数.call(this) // this:子类的实例第二步,是让子类的原型指向父类的原型,这样子类就可以继承父类原型。子构造函数.prototype = Object.create(父构造函数.prototype);子构造函数.prototype.constructor = 子构造函数;2.用class关键点:exten.
2020-10-24 20:26:53
228
原创 【vue】nextTick
用法:在下次 DOM 更新循环结束之后执行延迟回调。因为:Vue 在更新 DOM 时是异步执行的应用场景需要在视图更新之后,基于新的视图进行操作。当项目中你想在改变DOM元素的数据后基于新的dom做点什么,对新DOM一系列的js操作都需要放进Vue.nextTick()的回调函数中;通俗的理解是:更改数据后当你想立即使用js操作新的视图的时候需要使用它怎么做到的把回调函数放入callbacks等待执行将执行函数放到微任务或者宏任务中事件循环到了微任务或者宏任务,执行函数依次执行callb.
2020-10-23 18:44:36
194
原创 【Vue3】路由怎么切换成 history 模式
两句代码:import { createWebHistory, createRouter } from "vue-router"; // 1const router = createRouter({ history: createWebHistory(), // 2 routes,});
2020-10-14 20:51:47
4459
2
原创 【Vue-7】Vue Router 是怎么用的
Vue Router 怎么做懒加载?import('./Foo.vue') // 返回 Promiseimport,后面加个括号,然后括号内写组件路径。
2020-10-11 23:07:59
124
原创 【Webpack-2】loader 和 plugin 的区别是什么?
不同的作用Loader直译为"加载器"。Webpack将一切文件视为模块,但是webpack原生是只能解析js文件,如果想将其他文件也打包的话,就会用到loader。 所以Loader的作用是让webpack拥有了加载和解析非JavaScript文件的能力。Plugin直译为"插件"。Plugin可以扩展webpack的功能,让webpack具有更多的灵活性。 在 Webpack 运行的生命周期中会广播出许多事件,Plugin 可以监听这些事件,在合适的时机通过 Webpack 提供的 API 改变输
2020-10-08 18:07:15
534
原创 【Webpack-1】常见 loader 和 plugin
常用Loader:babel-loader:把 ES6 转换成 ES5eslint-loader:检查代码格式加载scc:style-loader、css-loader、less-loader加载图片:file-loader 、url-loader常用pluginhtml-webpack-plugin可以根据模板自动生成html代码,并自动引用css和js文件clean-wenpack-plugin 会在打包之前将我们指定的文件夹清空应用场景每次打包前将dist目录清空, 然后再存放新打包的
2020-10-08 18:05:45
226
1
原创 【算法】js 一个数组中,找跟100最接近的10个数。
这道题考冒泡排序,简称:体育委员两两摸头法思路:(关于绝对值从小到大排序)1.第一遍排序,i=0~10。最大的绝对值肯定已经到了最后面。2.所以第二次排序,只需比较i=0~9,就可以了。3.所以每一次循环,只能确定倒数的还未确定的一个。0、1、2、3、4、5、6、7、8、9、100、1、2、3、4、5、6、7、8、90、1、2、3、4、5、6、7、80、...
2020-10-07 16:40:46
219
原创 【css】使用 canvas 画一个圆、贝塞尔曲线画对话气泡
HTML<canvas id="canvas"></canvas>JavaScriptvar canvas = document.getElementById("canvas");var ctx = canvas.getContext("2d"); // 返回一个用于在画布上绘图的环境ctx.beginPath(); // 开始一条路径ctx.arc(75, 75, 50, 0, 2 * Math.PI); ctx.stroke(); // 进行绘制arc的参数
2020-09-27 12:58:39
527
原创 【Vue】this.$emit 的 实现思路
this.$emit描述:触发当前实例上的事件,附加参数都会传给监听器回调。Vue.prototype.$emit = function (event) { const vm = this let cbs = vm._events[event] // 找到事件名对应的回调集合 if (cbs) { const args = toArray(arguments, 1) // 将附加参数转为数组 for (let i = 0; i < cbs.length
2020-09-20 11:51:20
681
原创 【CSS】从外边距塌陷引出——BFC 是什么?
举个例子:父级和子级之间,给子级上边的外边距,父级会跟着子级下来<div class="dad"><div class="son"></div></div>.dad { width: 100px; height: 100px; background: red; border-top:1px solid; /* 这句不加就会塌陷 */}.son { width: 50px; height: 50px; margin
2020-09-18 23:47:48
688
原创 【Vue】mixin的缺点。
JSONP背景:由于浏览器同源策略的限制,非同源下的请求,都会产生跨域问题,jsonp即是为了解决这个问题出现的一种简便解决方案。作用:常用于服务器与客户端跨源通信1. JSONP是通过 script 标签加载数据的方式去获取数据当做 JS 代码来执行2. 提前在页面上声明一个函数,函数名通过接口传参的方式传给后台,后台解析到函数名后在原始数据上「包裹」这个函数名,发送给前端。换句话说,JSONP 需要对应接口的后端的配合才能实现。----------------跨域资源..
2020-09-18 16:27:07
4268
原创 【造轮子】如何用 Vue2 写出一个支持 v-model 的 input 自定义组件
父组件关键代码:<MyInput v-model="inputValue" /><!-- 相当于这样写 --><MyInput :value="inputValue" @input="inputValue = $event" />data() { return { inputValue: '' }}子组件<MyInput>关键代码:<input :value="value" @input="$emit('inp
2020-08-29 22:01:13
173
原创 【npm】dependencies 和 devDependencies 的区别
development 开发production 生产dependencies:表示生产环境下的依赖管理(开发阶段、生产阶段都有效) devDependencies:表示开发环境下的依赖管理(仅在开发阶段有效)devDependenciesnpm install --save-dev packageName# 简写npm i -D packageNamedependenciesnpm install --save packageName# 简写npm i ...
2020-08-10 13:57:28
265
原创 【Vue】.sync 修饰符的用法
如果想给子组件一个初始的值。然后想在它更新时拿到最新的值。一般就用.sync比如弹窗的关闭事件可以这样写:父组件:<xxxDialog :show.sync="xxxVisible"></xxxDialog>弹窗组件:close(){ this.$emit('update:show', false)}...
2020-05-11 22:41:57
200
原创 【原生】为什么有时 map 会返回含 undefined 的数组?
这是MDN上的一个例子:var numbers = [1, 2, 3, 4];var filteredNumbers = numbers.map(function(num, index) { if(index < 3) { return num; }});// filteredNumbers is [1, 2, 3, undefined]分析原因:因...
2020-02-03 23:26:25
9461
原创 【CSS】Vue项目里,使用Less预处理器,控制台会有/deep/相关的警告
IE下使用这个document.activeElement.tagName // 当前获得焦点的元素效果 // INPUT
2019-11-02 11:30:36
764
原创 【JS】回调函数 Callback(call then back)
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed概念:(传给另一个函数调用的) 函数一般来说,只要参数是一个函数,那么这个函数就是回调。用途:一般,在 step1 是一个...
2019-09-13 16:23:48
1165
原创 【HTML】移动端是怎么做适配的?
一、 meta viewport在head标签内部加上这段代码<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">该meta标签的作用是让当前viewport的宽度等于设备的...
2019-07-12 19:25:38
1166
原创 【原生JS】async 和 await
async 和 await 是 ES8 里的内容。 await 关键字只能放在一个有 async 前缀的函数里面。 最简单的方式:await 后面接一个会 return new Promise 的函数,并调用这个函数。 总结:await 后面接的永远是promise,async后面接的永远是 function。 async 就是为了标记函数,其它一无是处。 asyncfunctio...
2019-05-20 23:23:19
907
原创 【框架】记录 Vue +Ts 开发
vscode 装 vue 插件:vetur main.ts 是入口文件。 可参考这个官方的 github 仓库写:https://github.com/vuejs/vue-class-component 在声明每一个对象的时候,都要告诉ts,对象是什么类型。技巧:用alert来判断当前的文件有没有执行。 有些莫名其妙的错误提示,复制,删掉,粘贴,就不报错了。...
2019-04-27 23:39:17
3153
原创 【编辑器】vscode 的配置,WebStorm使用总结
进入快捷键设置的界面:ctrl+K ctrl+S 将格式化文件的快捷键绑定到自己喜欢的按键(我用的是 ctrl+L)万能键:ctrl+shift+p 学会 emmet (多处同时编辑:按住 alt 再点击;写 css 可以:属性名的开头字母:属性值的开头字母,快速输入) 检查拼写错误的插件:Code Spell Checker小知识:由于 username 单词在代...
2019-04-21 21:08:14
1028
原创 【TS】typescript 学习记录
一定要学会看英文!命令行报错→有道词典→复制到谷歌ts 主要就是为了解决 js 的一些错误,和一些不好的地方。 ts 兼容大部分 js 代码,就是说如果把它当 js 写,50%的时候都是对的。 ts 是希望我加分号的 函数重载:可以支持多种形式的参数类型安装sudo apt-get install nodejs (查看版本:node -v) sudo ...
2019-04-21 20:57:56
182
原创 【框架】简述一下 MVVM
MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Mode...
2019-04-20 11:27:26
1121
原创 【工具】熟悉一下 ubuntu
ubuntu 有 Linux 的所有功能 ubuntu 跟 windows 的文件系统,是两个系统,他们是隔离的 ubuntu命令行功能大概是 git bash 的10倍 alias 是一个非常高级的命令,随心所欲,为所欲为更新和安全→开发者选项→开发人员模式 应用和功能→程序和功能→启用或关闭 window 功能→适用于 Linux 的 Windows 子系统 应用商店里下载...
2019-04-19 23:09:14
169
原创 【JS】关于用局部变量
三个推论1.全局变量不好用(互相覆盖来覆盖去)2.所以用局部变量(要用局部变量必须有一个函数)3.立即执行函数:所以声明一个函数,立即调用它。(我们只是为了用局部变量)function(){}.call()4.提示语法错误,怎么破:1.最外层加括号(function(){}.call())2.只把匿名函数括起来(function(){}).call()3.告...
2019-04-13 13:48:25
139
原创 【CSS】Flex 用法,以及常用属性
Flex 布局特点与方向无关 空间自动分配、自动对齐 简单的线性布局flex container 的属性 (常用的只有4个)flex-direction 方向 flex-wrap 换行 flex-flow 上面两个的简写 (很少用这个,一般都是单独用上面两个,所以其实只有5个属性) justify-content 主轴方向对齐方式 align-items 侧轴对齐方式...
2019-04-10 20:12:58
169
原创 模拟 jQuery API的实现
jQuery 是什么?jQuery实质上是一个构造函数,接受一个参数,这个参数可能是节点,然后返回一个方法对象去操作节点用原生DOM写一个类似jQuery的API1.写一个带有id的 ul 列表<!DOCTYPE html><html lang="zh"> <head> <meta charset="UT...
2019-04-04 18:34:05
122
原创 【DOM】浏览器的渲染过程
我的观点:一般,好用的工具都是需要学习很久的。vim优点1.不需要鼠标,不用来回切换速度快2.快捷键特别方便如何退出vim:(放弃所有改动)按Esc 输入 :q! <回车>(!是强制的意思, quit 是退出的意思)三种模式:insert 模式(编辑模式) 普通模式(normal模式) 冒号模式(命令模式)如何撤销vim:u(u...
2019-03-30 21:18:21
144
原创 【工具】命令行常用技巧
~ 波浪线 就是 用户目录 的意思cd ~/Documents/ // 进入 我的文档start . // 打开文件夹pwd // 显示当前路径cd ~/Desktop //进入桌面touch ~/.bashrc //摸一下 bashrc,如果它已经存在就没什么作用,如果没有就会创建一个bashrcvim ~/.bashrcsource ~/.bashrc //...
2019-03-26 14:13:01
268
原创 【原生JS】原型链
原型链是 树形结构,所以学好数据结构,有助于理解原型链。首先,明确几个概念:__proto__ 是对象的属性。prototype 是函数的属性。共有属性 == 原型分析:个人理解,如果要给这个「__proto__ 」找一个对应的中文翻译,那就是→「找到构造此对象的那个函数的共有属性」。注意大小写,number 和 Number 是不同的所以:...
2019-03-21 22:36:05
240
原创 【原生JS】闭包、立即执行函数
首先删除origin,然后再次添加路径。git remote rm origingit remote add origin <repo-url>
2019-03-17 20:22:02
361
原创 【报错】hexo 部署到 github 上,css、js 文件加载不出来怎么办
1.修改hexo中 _config.yml 文件:注意,root 后面写你 github 仓库的名字,前后斜杠都不能省!url: http://yoursite.comroot: /blog/2.重新上传hexo cleanhexo ghexo d...
2019-03-17 18:29:47
7691
1
原创 【Vue】computed 和 watch 的区别
JS有7种数据类型:简单类型:number、string、boolean、symbol、undefined、null复杂类型:object所以下面这句话是错的!!!JS一切皆对象object 就是几种基本类型(无序地)组合在一起推荐书籍:《编码》...
2019-03-17 10:56:27
118
原创 【原生】JS一些用法总结(陆续更新)
1.怎么看对象里有没有一个属性?使用in操作符 '属性'in 对象名 true就是有,false就是没有2.特性检测:分辨触屏/非触屏设备if(document.body.ontouchstart !== undefined){ //触屏设备}else{ //非触屏设备}3.onclick 兼容 电脑 和 手机。4.关于:1+'1' 为...
2019-03-15 18:46:32
217
原创 【原生JS】Eventloop
先看这个吧先执行主任务,把异步任务放入循环队列当中,等待主任务执行完,再执行队列中的异步任务。异步任务先执行微观任务,再执行宏观任务。一直这样循环,反复执行,就是事件循环机制。https://developer.aliyun.com/article/737952...
2019-03-14 18:36:17
147
原创 【技巧】css 多行文字如何两边对齐
html<div> <span>姓名</span> <br> <span>联系方式</span></div>css <style> div{ /* border: 1px solid red; */ font-size: 20px; } s...
2019-03-14 15:35:23
1640
原创 【工具】git 版本控制工具
版本:后悔药 每一个版本,就是一颗后悔药 commit 之后,一颗后悔药就造出来了配置一定要运行这五句话,不然 git 就不能用了查看当前配置项:git config --listgit config --global user.name xxxxxx (把xxxxxx替换成你的英文名字随便什么都行)git config --global user.email xxx......
2019-03-14 11:28:33
313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人