- 博客(88)
- 资源 (1)
- 收藏
- 关注
原创 js封装日期格式化函数
// 封装日期格式化函数const date = new Date('2021-4-12 10:22:22');function dateFormat (date, format = 'YYYY-MM-DD HH:mm:ss') { const config = { YYYY: date.getFullYear(), MM: date.getMonth(), DD: date.getDate(), HH: date.getHour
2021-04-13 20:28:04 237
原创 原生js时间戳获取和转换
时间转变为时间戳的方法汇总const date = new Date('2021-4-12 08:22:22');console.log(date); // Mon Apr 12 2021 08:22:22 GMT+0800 (中国标准时间)console.log(date * 1); //1618186942000console.log(Number(date)); // 1618186942000console.log(date.valueOf()); // 1618186942000co
2021-04-13 20:24:41 268
原创 自适应好用的一个css
主要是利用cssmax-width:min-content如下代码展示<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style
2021-04-12 19:18:05 79
原创 ES6五种遍历对象属性的方式
ES6五种遍历对象属性的方式function allObj(){ this.name = '张三'; // 自有属性 this.age = '12'; // 自有属性 this.invisible = { enumerable: false, value: 'hello' }, this.invisible = { enumerable: false, value: 'hello' }}allObj.prototype.disEnum = {
2021-04-12 19:14:30 1541
原创 ES6数组扩展运算符(Rest+Spread)、类方法、原型方法
概览ES6引进了一些新的数组方法。扩展运算符(Spread)+剩余操作符(Rest)含义: 扩展运算符(spread)是三个点...,它如同rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。剩余操作符提取数组,用于剩余参数和结构。扩展操作符将数组元素转换成函数调用的参数或者数组字面量的元素。console.log(...[1, 2, 3]); // 1 2 3console.log(1, ...[2, 3, 4], 5); //1 2 3 4 5Rest(函数参数) 和 S
2021-04-06 20:16:32 454 2
原创 var/let/const、块级作用域、TDZ、变量提升
概览ES6 新增了两个定义变量的关键字:let 与 const,它们几乎取代了 ES5 定义变量的方式:var。let是新的var,const简单的常量声明。function f() { { let x; { // okay, block scoped name const x = "sneaky"; // error, const x = "foo"; } // error, already declared in b
2021-03-30 20:15:52 153
原创 三大样式穿透
问题用到很多vue常用的组件库(element, vant, vuetify),虽然配好了样式但是还是需要更改其他的样式解决三大样式穿透 >>> , ::v-deep , /deep/在style经常用scoped属性实现组件的私有化,所以才需要样式穿透需要注意:( >>> 只作用于css::v-deep 只作用于sass/deep/ 只作用于less示例:1<style lang="scss" scoped>.conBox
2021-03-09 22:08:13 175
原创 vscode使用chrome调试报错
问题vscode使用chrome调试报错"无法访问您的文件"或者"localhost 拒绝了我们的连接请求"。解决ctrl+p 搜索launch.json文件改为:{ "version": "0.2.0", "configurations": [ { "name": "使用本机 Chrome 调试", "type": "chrome", "request": "launch", "file": "${file}",
2021-03-09 22:05:06 535
原创 npm insatll 下载依赖总会卡住
问题npm ERR! code ENOTFOUNDnpm ERR! errno ENOTFOUNDnpm ERR! network request to https://registry.npmjs.org/babel-plugin-import failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443npm ERR! network This is a problem related to net
2021-02-10 09:07:16 241 1
原创 npm ERR! A complete log of this run can be found in
del package-lock.jsonnpm install
2021-01-21 20:48:04 186
原创 Vue面试题之vue实现MVVM数据绑定
MVVM什么是MVVM?MVVM是Model-View-ViewModel,是把一个系统分为了模型(model)、视图(view)和view-model三个部分。vue是一个典型的MVVM思想,数据驱动视图。通俗一点就是view层不直接和model层通信,他们只能通过view-model层通信。vue中MVVM的理解vue是一个MVVM渐进式框架,MVVM是vue的实际模式,在vue框架中数据会自动驱动视图。我们写vue就知道它的单文件组件开发方式。Model:数据层,仅仅关注数据本身,不关心任
2021-01-16 19:40:02 453
原创 vue 父子组件传数组eslint报错(Type of the default value for ‘arrNew‘ prop must be a function)
报错Type of the default value for ‘arrNew’ prop must be a function. (vue/require-valid-default-prop) arrNew: { type: Array, default:[]}解决arrNew: { type: Array, default() { return [] }}vue 父子组件传数组eslint报错(Type of the default value for ‘
2021-01-12 20:42:19 595
原创 词法作用域和动态作用域
词法环境词法环境:是一种规范类型,用于根据ECMAScript代码的词法嵌套结构来定义标识符与特定变量和函数的关联。通俗来说,词法环境就是一套约定的规则。写代码时,应该按照这个规则来,js引擎对源码进行词法分析。因此,词法环境在我们写代码的时候就已经确定了。词法环境其实就是作用域,也称词法作用域,也是所说的静态作用域。静态作用域与动态作用域因为javascript采用的是词法作用域,函数的作用域在函数定义的时候就决定了(我们写代码的时候就已经存在了);而与词法作用域相对的是动态作用域,函
2021-01-07 20:10:44 231
原创 lodash防抖
一import _ from "lodash";const infoBoxDebounce = _.debounce(fc => fc(), 500, { leading: true });//方法clickMethod(){ infoBoxDebounce(()=>{ //代码块 })}二<script>import _ from 'lodash'export default { methods: { //方法 cl
2021-01-06 22:55:38 162
原创 原型与原型链一知半解
前言看过不少深入了解原型原型链系列,大体是明白不少,还是不够透彻!以下仅为个人总结和理解。初见各名词首先得了解这几个词:函数,构造函数,函数原型(实例原型),实例,实例对象,对象原型,原型,prototype,proto,constructor先看下面这个例子:function Person() {}function Foo() {}const foo = new Foo();const person = new Person();函数,构造函数:在上面的例子中构造函数就是
2020-12-30 20:46:32 98 2
原创 js格式化json字符串和json对象
格式化json对象const list= {name: 'lisi',age: 14,id: 1}JSON.stringify(list, null, "\t")格式化json字符串let list= "{name: 'lisi',age: 14,id: 1}"list = JSON.parse(list)JSON.stringify(list, null, "\t")输出{ name: 'lisi', age: 14, id: 1}js格式化json字符串和json对
2020-12-15 23:46:56 181
原创 reduce 一知半解(一):根据id合并两个数组
日常日常遇到的,同id的两数组合并成一数组的问题语法arr.reduce(function(prev,cur,index,arr){...}, init);arr 表示原数组;prev 表示上一次调用回调时的返回值,或者初始值 init;cur 表示当前正在处理的数组元素;index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;init 表示初始值。注意:其实常用的参数只有两个:prev 和 cur根据id合并两个数组le
2020-12-10 22:48:06 861
原创 css禁止点击事件
将禁用的按钮灰掉的效果.disabled { pointer-events: none; cursor: default; opacity: 0.6;}选中的按钮.disabled.is-active { pointer-events: auto; cursor: pointer; opacity: 1;}css禁止点击事件
2020-11-26 21:44:08 522
原创 普通下载 && Vue文件图片下载处理
一般的下载,也就a标签加个链接地址,标签内加个download属性. 当地址是后端提供时:可通过创建a标签, 随即给a便签附下载链接,文件名和属性, 最后再创建点击效果,最后清楚生成的a标签. 再则是图片地址提供:可以通过Base64加canvas,对图片的下载可以进行处理. 下面就是相关方法处理函数 HTML与文件下载HTML与文件下载<a href="large.jpg" download>下载</a>文件下载配合后端表格导出export function dow
2020-11-18 22:41:40 138
原创 日常页码样式问题
问题当页码到一千多的时候,页码的方框会非常不好看;又不能超出方框min-width&&padding解决<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title
2020-11-09 19:29:51 181 2
原创 webpack 报错(Cannot find moudle ‘webpack-cli\bin\config-yargs‘)
问题webpack 报错(Cannot find moudle ‘webpack-cli/bin/config-yargs’)解决webpack和webpack-dev-server版本兼容webpack 3.5.5 webpack-dev-server 2.7.1可以用。npm uninstall webpack -Dnpm uninstall webpack-dev-server -D然后执行npm i webpack@3.5.5 -Dnpm i webpack-dev-serv
2020-10-29 19:58:33 141
原创 js图片压缩推荐
1. irz图片压缩图片压缩:不能定义压缩后大小2. image-conversion图片压缩:能定义压缩后大小js图片压缩推荐
2020-10-26 19:25:59 167
原创 LeetCode 第 4 号问题:寻找两个正序数组的中位数
LeetCode 第 4 号问题:寻找两个正序数组的中位数题目地址https://leetcode-cn.com/problems/median-of-two-sorted-arrays/题目描述给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数
2020-10-14 20:12:38 99
原创 vue+element 列表的后台数据更新了,但前端视图未更新.
问题vue+element 列表后台数据更新了,console.log 打印出来是更新的但列表前端视图未改变解决this.$set(this.data,key,value)set函数接收三个参数分别为 target、key、val,其中target的值为数组或者对象,这正好和官网给出的调用Vue.set()方法时传入的参数参数对应上。Vue.set(target,propertyName/index,value)this.$set(target,propertyName/in
2020-10-13 23:18:15 798
原创 css隐藏滚动条
.list { -ms-overflow-style: none; overflow: -moz-scrollbars-none;}.list::-webkit-scrollbar { display: none; width: 0px!important }css隐藏滚动条
2020-10-13 22:58:37 186
原创 a++和++a的区别
a++ : 先使用,后加1先将a的值代入表达式,在表达式运算完毕后,再将a进行++处理++a : 先加1,后使用先将a进行++处理,再将a的值代入表达式let a=10,b=20,c=30;++a;a++;e=++a+(++b)+(c++)+a++;++a a先自己+1 然后将值赋给结果:13 a=13++b b先自己+1 然后将值赋给结果:21 b=21C++ 先将c值赋给结果:30 c自己+1 c=31a++ 先将a值13赋给
2020-09-24 19:17:49 227
原创 npm i -S -D -g的区别
1)npm -i == npm install2)写入dependcies,发布到开发环境npm install module_name --save == npm i module_name -S3)写入devDependcies,生产环境npm install module_name --save-dev == npm i module_name -D4)全局安装npm i module_name -g || npm i
2020-09-18 19:33:44 189
原创 css镂空三角形样式
前言对话框----镂空三角形样式原理1)利用伪元素 :before :after2):before ,border做出大三角形样式3):after,border做出小三角形样式4)小三角形的白色样式遮住大三角形样式,形成镂空镂空三角形html<div id="talkTop"> 顶部镂空三角形</div><div id="talkBottom"> 底部镂空三角形</div><div id="talkLeft">
2020-09-17 20:29:42 984
原创 本地缓存之localstrage之用法
HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。1.储存数据,更改数据localStorage.setItem('Token', res.data.result.accessToken)localStorage.setItem('Token', res.d
2020-09-16 22:59:04 357 1
原创 Vue EventBus传值踩坑之Vuex完美解决
问题多个组件通信问题EventBus传值,频繁会导致接口重复调用我以为eventBus是专门处理兄弟组件之间通信的,但是实际上,eventBus是专门处理同一个路由下的复杂组件之间通信的。如果涉及夸路由的组件通信。可以考虑利用$route对象传参或者Vuexvuex完美解决由于涉及v-model,需要特殊处理:bugcomputed property “XXX” was assigned to but it has no setter处理componentcomputed: {
2020-09-15 20:26:00 1493
原创 bug:Vuex - Computed property “name” was assigned to but it has no setter
问题多个组件通信问题EventBus传值,频繁会导致接口重复调用我以为eventBus是专门处理兄弟组件之间通信的,但是实际上,eventBus是专门处理同一个路由下的复杂组件之间通信的。如果涉及夸路由的组件通信。可以考虑利用$route对象传参或者Vuexvuex完美解决由于涉及v-model,需要特殊处理:bugcomputed property “XXX” was assigned to but it has no setter处理componentcomputed: {
2020-09-15 19:33:00 406
原创 出网速率问题
问题出网速率变高有哪些原因?服务器CPU性能,内存,SQL日志,都没问题,有其他什么原因会这样?方法1.Windows 无法应用 Scripts 设置。Scripts 设置可能具有自身的日志文件。请单击“详细信息”链接。2.接收到以下严重警告: 42。3.生成以下严重警告: 40。内部错误状态为 1205。4.从远程客户端应用程序收到一个 TLS 1.0 连接请求,但没有任何受客户端应用程序支持的密码套件是受服务器支持的。SSL 连接请求失败。5.没有为网络地址是 0x02004C4F4
2020-09-12 20:07:19 2546
原创 文字超出省略号类型
一.css文本超出就隐藏并且显示省略号(一行)overflow:hidden; //超出的文本隐藏text-overflow:ellipsis; //溢出用省略号显示white-space:nowrap; //溢出不换行二.css文本超出就隐藏并且显示省略号(两行)overflow: hidden;text-overflow: ellipsis;display:-webkit-box; //作为弹性伸缩盒子模型显示。-webkit-box-orient:vertical; //设置伸缩盒子
2020-09-09 19:40:23 449
原创 逻辑运算为true
console.log(true === !false) //trueconsole.log(true === !0) //trueconsole.log(true === !"") //trueconsole.log(true === !NaN) //trueconsole.log(true === !null) //trueconsole.log(true === !undefined) //trueconsole.log(0 === (-0)) //true
2020-09-08 20:02:15 447
原创 js多个基本类型计算
let str=true+11+null+9+undefined+“javascript”+false+null+9+[]+[" "]计算strconsole.log(true+11) //12console.log(12+null) //12console.log(12+9) //21console.log(21+undefined) //NaNconsole.log(NaN+"javascript") //"NaNjavascript"console.log("NaNjavascr
2020-09-08 19:44:37 136
原创 length-of-longest-substring 无重复字符的最长子串 javascript解答
LeetCode 第 3 号问题:无重复字符的最长子串题目地址https://leetcode.com/problems/longest-substring-without-repeating-characters/description/题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。思路1.首先取 res 为输入字符串的第一个字符2.判断第
2020-08-22 19:48:29 289 2
原创 addTwoNumbers两数之和 javascript解答
LeetCode 第 2 号问题:两数相加题目地址https://leetcode.com/problems/add-two-numbers/description/题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5
2020-08-22 19:13:43 195
原创 two-sum两数之和 javascript解答
LeetCode 第 1 号问题:两数之和题目地址https://leetcode-cn.com/problems/two-sum题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返
2020-08-20 21:25:23 223
css3教程.MP4
2020-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人