自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 数组去重的方法

方法1function unique(array) { let temp = [] for (let i = 0, l = array.length; i < l; i++) { if (temp.indexOf(arr[i]) === -1) temp.push(arr[i]) } return temp}方法2function unique(a...

2019-09-30 00:06:54 508

原创 let,const的区别

const一般用来定义常量或者对象(对象类型在js中是保存一个指针地址所以不会有改变),而let我们就用来定义变量,const是需要初始化的,在定义的时候就需要初始化赋值,而let则不用一开始就初始化,两者都不存在变量提升(暂时性死区),并且会形成一个块级作用域,而且不能重复定义相同的变量名。现在我们稍微整理一下他们的异同点,同时给他俩来个参照物var,得出以下结论。相同点:块级作用域 ...

2019-09-29 23:51:50 853

原创 JS中的深拷贝与浅拷贝

浅拷贝浅拷贝是对象的逐位复制。创建一个新对象,该对象具有原始对象中值的精确副本。如果对象的任何字段是对其他对象的引用,则只复制引用地址,即,复制内存地址。大白话讲就是,浅拷贝是对对象地址的复制,并没有开辟新的栈,也就是复制的结果是两个对象指向同一个地址,修改其中一个对象的属性,则另一个对象的属性也会改变。深拷贝深拷贝复制所有字段,并复制字段所指向的动态分配内存。深拷贝发生在对...

2019-09-29 00:09:17 543

原创 获取Url中参数的方法

一般使用框架的话是可以很快获取到url的参数但是如果要手写一个的话就需要封装一个方法来function params() { const search = window.location.search; //window.location.search会返回url中包含?及其之后的字符串 search = search.substr(1, search.length); //截...

2019-09-28 23:41:46 691

原创 计算某一字符或字符串在另一个字符串中出现的次数

最简单是使用splitfunction repeat(str,parentStr){ if(!str) return 0 return parentStr.split(str).length - 1}var str = 'adaffgasdgfhafgh'repeat(str)//4

2019-09-28 23:19:33 823

原创 HTTP Status code(状态码)和 Status text(状态文本)对照

1xx:临时回应,表示客户端请继续。 2xx:请求成功。 200:请求成功。 3xx: 表示请求的目标有变化,希望客户端进一步处理。 301&302:永久性与临时性跳转 304:跟客户端缓存没有更新 4xx:客户端请求错误。 401:未登录 403: 无权限 404:表示请求的页面不存在 5xx:服务端请求错误 500:服务端错误 502:...

2019-09-27 23:02:59 748

原创 Promise返回值问题(处理异步请求返回值问题)

因为项目中我们的数据请求全都是异步的在开发中遇到的问题:本意将数据请求封装成一个方法,并return数据请求结果给变量如:let getData = () =>{ //service.getList 为数据请求方法名 service.getList().then(function(rs){ return rs })}var da...

2019-09-27 22:42:24 10804 1

原创 给table添加transition动画的问题

问题原因:想动态显示隐藏数据表格,但是显隐想使用transition动画过度,直接给table的高度添加transition却不失效.解决方案:table上直接设置高度(height:0;))并不会直接生效可以给tr中添加一个div,将内容显示在div中,再对div的高度进行设置及添加transition,同时对tr也进行高度控制,并设置transition记得设置paa...

2019-09-26 22:42:17 1952

原创 angularjs中的ng-class的几种使用方式

第一种: <!-- 直接使用变量--><div ng-class="styleClass"></div> $scope.styleClass = 'active'; 第二种:<!--第二种 用{{}}使用表达式--> <div ng-class="{{bgClass}}"></div>...

2019-09-26 22:21:11 843

原创 leetcode题解(八)--不使用加减号进行求和

计算两个整数a和b的总和,但不允许使用+和-运算符。示例1:输入:a = 1,b = 2输出3示例2:输入:a = -2,b = 3输出1不使用加减,那就只能通过位运算来计算首先需要了解两个概念异或:异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同...

2019-09-26 21:59:25 740

原创 把剑心追忆篇才看完了

说不出来的感觉幕府时代的悲剧

2019-09-25 22:17:45 654

原创 iframe操作src或url的方式

因为最近的项目使用了iframe,又开始做适配,而之前项目的一些修改url的操作需要做一些修改才能保证页面跳转及显示正常"window.location.href"、"location.href"是本页面跳转因为框架是用的别的项目的,他们提供项目的菜单框架,而内部的iframe嵌入我们的页面1.当是我们项目内部,即iframe中页面修改1)可以使用"window.location....

2019-09-24 21:39:52 47116 9

原创 加班ing,占坑

占坑

2019-09-23 22:21:15 663

原创 leetcode题解(七)

给定长度为n的数组,找出重复次数最多的元素。 重复最多的元素是出现超过⌊n /2⌋倍的元素。您可以假设该数组非空,并且重复最多的元素始终存在于数组中。例1:输入:[3,2,3]输出:3例2:输入:[2,2,1,1,1,2,2]输出:2 var majorityElement = function(arr){ var num = arr[0], ...

2019-09-20 22:54:31 604

原创 存一下自己常用的vscode设置,eslint自动格式化

保存一下自己常用的vscode设置,不断完善更新一下{ "editor.fontSize": 17, "files.autoSave": "afterDelay", "workbench.iconTheme": "vscode-icons", "editor.fontWeight": "normal", "prettier.singleQuote": ...

2019-09-19 22:46:01 810

原创 leetcode题解(六)

给定已按升序排序的整数数组,找到两个数字,使它们相加到特定的目标数。函数twoSum应返回两个数字的索引,以便它们加起来到目标,其中index1必须小于index2。注意:返回的答案(index1和index2)不是从零开始的。假设每个输入只有一个解决方案,并且不会两次使用相同的元素。示例:输入:数字= [2,7,11,15],目标= 9输出:[1,2]说明:2和7之和为9.因此i...

2019-09-18 21:26:03 580

原创 leetcode题解(五)

给定一个只包含字符'(',')','{','}','['和']'的字符串,确定输入字符串是否有效。如果输入字符串有效:必须使用相同类型的括号关闭左括号。必须以正确的顺序关闭打开括号。请注意,空字符串也被视为有效。例1:输入:“()”输出:true例2:输入:“()[] {}”输出:true例3:输入:“(]”输出:false例4:输入:“([]]”输出:f...

2019-09-17 21:00:10 554

原创 slice,splice,split的区别

slice,splice,split这几个方法因为形似有时不熟悉的时候容易记混了slice和splice都是数组的操作方法而split是字符串的操作方法slice()方法返回一个新的数组对象,这一对象是一个由begin和end决定的原数组的浅拷贝(包括begin,不包括end)。原始数组不会被改变。var fruits = ['Banana', 'Orange', 'Lem...

2019-09-16 21:42:56 747

原创 leetcode感想

最近做了一些LeetCode的题,但是感觉自己并没有完全用到"算法"的概念而是使用技巧达到目的这样不对劲需要把抽象出来,再好好理解一下哎,需要开发开发智商了...

2019-09-15 23:05:15 578

原创 leetcode题解(四)

给定排序的数组nums,就地删除重复项,使每个元素只出现一次并返回新的长度。不要为另一个数组分配额外的空间,必须通过使用O(1)额外内存修改输入数组来实现此目的。例1:鉴于nums = [1,1,2],返回length = 2,nums的前两个元素分别为1和2。例2:鉴于nums = [0,0,1,1,1,2,2,3,3,4],返回length = 5,nums的前五个...

2019-09-13 23:47:17 298

转载 js按位运算符及其妙用

大多数语言都提供了按位运算符,恰当的使用按位运算符有时候会取得的很好的效果。在我看来按位运算符应该有7个:1、& 按位与&是二元运算符,它以特定的方式的方式组合操作数中对应的位,如果对应的位都为1,那么结果就是1, 如果任意一个位是0 则结果就是0。1 & 3的结果为1那我们来看看他是怎么运行的1的二进制表示为 0 0 0 0 0 0 13的二进...

2019-09-12 22:20:57 693

原创 输入url后浏览器加载出页面的过程

1.浏览器首先使用HTTP协议或者HTTPS协议,向服务端请求页面;2.把请求回来的HTML代码经过解析,构建成DOM树;3.计算DOM树上的CSS属性;4.最后根据CSS属性对元素逐个进行渲染,得到内存中的位图;5.一个可选的步骤是对位图进行合成,这会极大地增加后续绘制的速度;6.合成之后,再绘制到界面上。...

2019-09-11 23:14:38 290

原创 leetcode题解(三)

给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略大小写。注意:出于此问题的目的,我们将空字符串定义为有效的回文。Example 1:Input: "A man, a plan, a canal: Panama"Output: trueExample 2:Input: "race a car"Output: false// 使用双指针var isPalindr...

2019-09-10 20:42:07 286

原创 leetcode题解(二)

给定一个非空的整数数组,除了一个元素外,每个元素都会出现两次。 找出唯一的那一个。注意:您的算法应具有线性运行时复杂性。 不使用额外内存.Example 1:Input: [2,2,1]Output: 1Example 2:Input: [4,1,2,1,2]Output: 4//用indexOf和lastIndexOf进行对比,若返回的下标一致说明...

2019-09-09 21:42:56 266

原创 leetcode题解

将字符串'Let's take LeetCode contest' 转换为's'teL ekat edoCteeL tsetnoc'保留原有的空格var func = function(str){ let arr = str.split(' ') // 对数组进行遍历,然后反转每个元素 let result = arr.map((item) =>...

2019-09-08 23:35:13 257

原创 前端的string.length和后台数据库存储的字符长度不一致

问题原因:后台数据库使用的是UTF-8编码,一个中文字符在被存储时是3个字节而前台一般使用获取字符长度的string.length获取的字符串长度中文依然是一个长度英文在Unicode和UTF-8中的长度和字节都是一致的,只占用1个字节因为汉字的unicode码区间为0x2e80-0x9fff,所以汉字在UTF8中的长度最长为3个字节这样导致前后台的长度校验不一致当...

2019-09-07 22:58:59 2658

原创 打包后导致if-else发生颠倒

有次用环境上已经打包后的代码进行调测,发现打包后的代码和自己本地代码不一致的情况类似下面的语句if(!asd){ //执行语句A} else{ //执行语句B}打包后会变成if(asd){ //执行语句B} else{ //执行语句A}理论上就算出现这种情况,代码逻辑是没有变化的,但是我们有时就是想先执行本来的"否定判断"和同事谈论还...

2019-09-07 22:57:18 476

原创 javascript中的void

void在后台语言出现的比较多,如c#,java等但是在javascript中也有一个妙用我们可以用//定义一个变量的值为undefinedvar str = void(0)console.log(str)//undefined其实在js中不管怎么写void后面的表达式,返回值都是undefinedvoid运算会忽略掉求值的结果,直接返回 undefined因为在j...

2019-09-06 22:49:43 631

原创 更方便的操作cookies及cookies应用

在当前开发中cookies使用频率比较高.主要表现在用户token,用户状态,语言设置,csrftoken等原生js操作cookies使用docment.cookie获取,可通过replace截取自己想要的值在实际开发中推荐添加MDN中关于cookies的一个小框架,可以快速处理cookies(https://developer.mozilla.org/en-US/docs/Web...

2019-09-06 21:18:22 560

原创 git bash真的强大

因为项目打包切换了方式,而新方式前端打包并没有有效的管理机制在老的Jenkins中我们是给Jenkins服务器放了一个version文件用来记录当前项目版本号,并且给git打tag,以保证后面有迹可循但是新的打包方式虽然集成的Jenkins,但是我们并没有过多权限,不能往Jenkins服务器再保存一个文件来记录,就算保存在git中,Jenkins每次都是拉取到一份代码操作,就算修改也不会影...

2019-09-05 15:33:38 450

原创 很有用但不常用的git命令

临时保存当前代码git stash//git stash <name>会将已经修改的代码临时存储在缓存区,然后可以自由的切换分支或其他操作了找回临时存储的代码git stash list (获取临时存储列表)git stash apply stash{x} (x表示对应编号)若找回的代码就是最近的一次缓存git stash pop (取回最近一次暂...

2019-09-04 15:44:33 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除