- 博客(87)
- 资源 (1)
- 收藏
- 关注

原创 javascript 中数组方法整理
ES3的数组方法join();目的:将数组转化为字符串.参数:无or可传一个参数(传超过1个的参数,默认取第一个参数), 参数为字符或字符串,参数将在数组的每个元素的间隔插入。PS: 参数无的时候,数组元素间隔为 ','.是否改变原数组: 不改变原数组, 返回一个新的字符串.逆向操作:String.split().reverse();目的:将数组中的元素颠倒顺序.参数:无(无视参数).是否改变原数...
2018-05-19 11:27:25
651
原创 vue3+elementplus+ts dialogform 表单添加,编辑回显
废话不多说上代码/* eslint-disable prefer-const */<template> <el-dialog v-model="dialogVisible" :close-on-click-modal="false" :close-on-press-escape="false" :title="formObj.userId ? '编辑': '新增'" width="1000px" > <el-for
2021-02-01 18:27:30
5496
2
原创 从0到1搭建项目,本地启动服务node+express 设置webpack自动打包构建,热更新,mock数据
本地搭建项目从0到1的过程,加深工程化水平
2020-12-17 14:54:27
351
原创 promise.all/ promise.race 简单实现
Promise.all = arr => { let aResult = []; //用于存放每次执行后返回结果 return new _Promise(function (resolve, reject) { let i = 0; next(); // 开始逐次执行数组中的函数(重要) function next() { arr[i].then(function (res) { aResult.pu.
2020-09-01 18:40:08
283
原创 javascript 实现一个深克隆 deepClone
// 实现一个deepClone 函数 深克隆/** * 思路 * 1.如果是基本数据类型,直接返回 * 2.如果是RegExp或者Date 类型,返回对应的类型 * 3.如果是复杂数据类型,递归 * 4.考虑循环引用的问题 */function deepClone (obj, hash = new WeakMap()) { if (obj instanceof RegExp...
2020-03-03 15:41:20
397
原创 javascript [] == ![] 为什么是true?
==和===区别==, 两边值类型不同的时候,要先进行类型转换,再比较===,不做类型转换,类型不同的一定不等。==类型转换过程:如果类型不同,进行类型转换判断比较的是否是 null 或者是 undefined, 如果是, 返回 true .判断两者类型是否为 string 和 number, 如果是, 将字符串转换成 number判断其中一方是否为 boolean, 如果是...
2020-02-25 17:35:40
387
原创 javascript 二分查找
var search = function(nums, target) { let left = 0, right = nums.length, // 左闭右开 mid; while(left < right) { mid = Math.floor((left + right) / 2); if(target == nums[mid]) { r...
2020-01-13 10:42:47
278
1
原创 HTTP的几种请求方法和用途
GET方法发送一个请求来取得服务器上的某一资源POST方法向URL指定的资源提交数据或附加新的数据PUT方法跟POST方法很像,也是想服务器提交数据。但是,它们之间有不同。PUT指定了资源在服务器上的位置,而POST没有HEAD方法只请求页面的首部DELETE方法删除服务器上的某资源OPTIONS方法它用于获取当前URL所支持的方法。如果请求成功,会有一...
2019-12-07 10:57:10
577
原创 实现Storage,使得该对象为单例
实现Storage,使得该对象为单例,并对localStorage进行封装设置值setItem(key,value)和getItem(key)var instance = null;class Storage { static getInstance() { if (!instance) { instance = new Storage(); } ret...
2019-10-16 10:05:01
400
原创 javascript 实现函数 参数输入1,2,3 返回数组[1,2,3]
javascript 基础总结function list() { return Array.prototype.slice.call(arguments);}var list1 = list(1,2,3);/* for循环中每隔1秒输出加1,打印1,2,3,4,5*/// bindfor (var i = 1; i <= 5; i++) { // 缓存参数...
2019-10-14 10:04:44
954
原创 原生js深度拷贝
// 用原生JS实现对象的深度拷贝var deepCopy = function(obj) { if (typeof obj !== 'object') return; // // 根据obj的类型判断是新建一个数组还是对象 var newObj = obj instanceof Array ? [] : {}; for (var key in obj) { ...
2019-09-16 10:18:46
211
原创 在 vue+element ui 中只有一个输入框(el-input)的情况下,回车会提交表单。
如果刚好输入的组件包在form表单中,当一个form元素中只有一个输入框时,在该输入框中按下回车会提交该表单,导致页面刷新在 el-form 上加上 @submit.native.prevent 这个则会阻止表单回车提交。<el-form @submit.native.prevent></el-form>...
2019-08-27 15:17:40
1607
原创 vue.js 中直接调用filters中的函数
this.$root.$filters.函数(value)<span class="ml20 cGray">${this.$root.$filters.formatSex(row.patientSex)}</span>
2019-05-30 17:50:11
4164
2
原创 npm 下载node_modules 报错,node_modules 中丢失本地配置的tag的包
yarncnpmnpm本地node 版本问题cnpm多yarn几次。
2019-05-29 22:06:32
1538
原创 匹配所有特殊字符和字母
来源:业务需要,根据产品的逻辑英文名可以输入一切的特殊符号注意事项:需要注意中英文的特殊符号切换。 engName: [ { required: false, message: '请输入正确的英文名', trigger: 'blur' }, { max: 4, pattern: /^[.·`~!@#¥$%^&*()\-_=+、【】?,\\[...
2019-05-24 18:11:55
1801
原创 LeetCode 589 N叉树的前序遍历 javascript
给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个3叉树:返回其前序遍历:[1,3,5,6,2,4]。思路:循环调用root.children下是否有子节点push到数组内/** * // Definition for a Node. * function Node(val,children) { * this.val = val; * th...
2019-04-26 10:17:49
221
原创 vue computed 和watch的区别
1 computed特性1.是计算值,2.应用:就是简化tempalte里面{{}}计算和处理props或$emit的传值3.具有缓存性,页面重新渲染值不变化,计算属性会立即返回之前的计算结果,而不必再次执行函数2 watch特性1.是观察的动作,2.应用:监听props,$emit或本组件的值执行异步操作3.无缓存性,页面重新渲染时值不变化也会执行...
2019-04-24 17:26:39
146
原创 vue模块私有组件中(scoped)设置全局样式
项目开发过程中,我们经常会用到scoped来使样式文件只适用于当前模块,scoped设计的初衷就是让样式变得不可修改,可以很好的实现私有化简单介绍一下scoped三条渲染规则dom:html的dom节点会有唯一的data属性(例如下方的data-v-5558831a) <div data-v-5558831a class="header"> <div da...
2019-04-24 11:24:39
2986
原创 map await await is a reserved word 解决方案
问题:arr.map 调用await 报错。解决方案:async 自执行解决await 单独调用async 函数报错。(async() => { item.address = await this.citys.getCityName1(item.address)})()...
2019-03-21 12:14:27
1499
原创 css 设置滚动条。
项目中有用到记录一下。CSS滚动条选择器节你可以使用以下伪元素选择器去修改各式webkit浏览器的滚动条样式:::-webkit-scrollbar— 整个滚动条. ::-webkit-scrollbar-button— 滚动条上的按钮 (上下箭头). ::-webkit-scrollbar-thumb— 滚动条上的滚动滑块. ::-webkit-sc...
2019-03-13 11:04:16
2050
原创 javascript 函数的节流 (throttle)
节流(throttle): 每隔一段时间后执行一次,也就是降低频率,将高频操作优化成低频操作,通常使用场景: 滚动条事件 或者 resize 事件,通常每隔 100~500 ms执行一次即可function throttle(fn, wait, immediate) { let timer = null let callNow = immediate ret...
2019-02-28 11:48:29
205
原创 elementUI reload 奇葩记录一贴
elementUI 只有一个input框时,业务中读取卡信息会有一个submit操作。会造成页面reload刷新form 中增加 @submit.native.prevent 防止页面刷新白屏。
2019-02-25 16:18:43
769
原创 VUE Element-ui输入手机号加横线(三四四)或增加空格
一、问题描述: 项目中需要用到手机号每添加后增加空格或增加横线。三四四的逻辑。那么,在vue,element-ui 组件中,如何实现呢。二、效果图:三、实现代码: <template slot="mobile"> <el-input v-model="obj.mobile" placeholder="请输入手机号" @blur="checkRe...
2019-01-16 16:41:55
4976
1
原创 display: inline-block 和float 的区别
在我们平时工作中,经常会遇到把一些块状元素在一行排列显示,这时候我们通常会用到flaot,或许会用inline-block等等,那么他们有什么共性和区别?适用在什么场景? 共性:①inline-block: 是把一个元素的display设置为块状内联元素,意思就是说,让一个元素的容器inline展示,并且里面的内容block展示;inline属性使元素内联展示,内联元素设置宽度无效,相...
2019-01-14 17:37:38
394
原创 浅谈 域名收敛
在说域名收敛之前,问大家一个问题.为什么你手机打开时,白屏时间会这么长?答: 网速慢呗~ 怪我咯这当然不能怪你,确实是网速慢,但另外一方面是,如果网速已经很慢了,而你的网页加载效率又太低~ 造成的结果就是:go die~一个网页白屏时间是由下面几部分决定的所以,网页的优化就可以从上述几个部分开始. 这里我们要提及的就是DNS 优化, 即,域名收敛.Why should we...
2019-01-14 16:52:20
451
原创 meta viewport原理
什么是Viewport手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewpo...
2019-01-14 14:27:03
212
原创 leetcode 961 重复N次的元素 javascript
在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。返回重复了 N 次的那个元素。示例 1:输入:[1,2,3,3]输出:3示例 2:输入:[2,1,2,5,3,2]输出:2示例 3:输入:[5,1,5,2,5,3,5,4]输出:5/** * @param {number[]} A * @return {num...
2019-01-07 13:36:37
228
原创 217 存在重复元素 javascript leetcode
思路 :数组set 长度是否重复 /** * @param {number[]} nums * @return {boolean} */var containsDuplicate = function(nums) { let nums1 = new Set(nums); if (nums1.size !== nums.length) { return...
2018-11-30 18:55:52
235
原创 vue el-checkbox 回显失效 踩坑
回显el-checkbox checked 失效 如果后端返回的数据为int类型 : 1或 0 checked 失效。如果后端返回数据经过object.assign() checked 失效<template slot-scope="scope" ><el-checkbox v-model="scope.row.isSms" @change="v =>...
2018-11-28 21:30:20
13298
5
转载 JS中的位操作符:“与,或,非,异或,左移,右移”
Javascript有算数操作符,赋值操作符,比较操作符,逻辑操作符,同时也有位操作符。引子先想一想,如下,该输出什么答案? console.log('5 & 1 :', ( 5 & 1 )); console.log('5 | 1 :', ( 5 | 1)); console.log('~ 5:', (~5)); console.lo...
2018-11-28 11:48:15
234
原创 167 两数之和II 输入有序数组 leetcode javascript
/** * @param {number[]} numbers * @param {number} target * @return {number[]} */var twoSum = function(numbers, target) { for(let i=0; i<numbers.length;i++) { for (let j = i + 1; j...
2018-11-23 18:59:15
159
原创 704 二分查找 javascript leetcode
/** * @param {number[]} nums * @param {number} target * @return {number} */var search = function(nums, target) { let resultIndex let otherIndex nums.forEach((item, index) =>{ if (i...
2018-11-22 18:33:32
194
原创 349 两个数组的交集 javascript leetcode
/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */var intersection = function(nums1, nums2) { const resultArr = [] let maxLength = Math.max(nums1.length,nums2.l...
2018-11-22 14:13:42
125
原创 485 最大连续1的个数 javascript leetcode
/** * @param {number[]} nums * @return {number} */var findMaxConsecutiveOnes = function(nums) { let max = 0; let cur = 0; nums.map(function (num) { if(num == 1){ max...
2018-11-19 17:01:16
207
原创 122. 买股票的最佳时机 II javascript
结题思路:判断后一位元素是否大于前一位。如果是累加。/** * @param {number[]} prices * @return {number} */var maxProfit = function(prices) { let max = 0; for (let i = 1; i < prices.length; i++) { let d = prices...
2018-11-19 15:41:58
120
原创 前端面试题总结
1. 创建一个函数,输入的多个参数转行为一个数组输出function list() { return Array.prototype.slice.call(arguments);}var list1 = list(1, 2, 3); // [1, 2, 3]
2018-11-16 16:18:32
125
原创 908 最小差值I javascript
给定一个整数数组 A,对于每个整数 A[i],我们可以选择任意 x 满足 -K <= x <= K,并将 x 加到 A[i] 中。在此过程之后,我们得到一些数组 B。返回 B 的最大值和 B 的最小值之间可能存在的最小差值。 示例 1:输入:A = [1], K = 0输出:0解释:B = [1]示例 2:输入:A = [0,10], K = 2...
2018-11-16 11:27:38
160
linux-java jdk1.7
2018-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人