自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

忙着开花儿

您若盛开,清风徐来~ github:https://github.com/Erindcl

  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 2018秋招心路历程(8月-10月)

以下是我参加的今年秋招的面试经历总结,不过有些已经遗忘了天猫(内推 一面+二面)问的都是一些基础的东西(当时基础还不牢实 卒)兑吧(第一次 内推)整体根据我的简历、github、博客内容来提问new关键实例化一个对象时,发生了哪些过程this指向问题讲讲你在哪方面做的深入的一些研究JS单线程,事件循环vue生命周期卖好车(宣讲会 笔试+技术面+hr面)宣讲会的时候笔试 晚上笔...

2018-10-20 14:41:41 574

原创 谈谈我对前端缓存的理解

本文主要讲解了前端缓存中的强缓存和协商缓存,与缓存相关的首部字段,缓存的不同位置及其之间的区别等。为什么要使用缓存使用缓存有如下优点:减少冗余的数据传输节省网络费用,缓解网络瓶颈问题降低对原始服务器的要求,服务器可以更快响应,避免出现过载降低距离时延浏览器请求资源的过程浏览器第一次请求资源:本地无缓存数据向服务器发送请求从服务器获取资源,并协商缓存(是否缓存,获取资源的...

2018-10-14 11:09:28 2313

原创 webpack学习记录二 各种Loader的使用

各种Loader的使用前期准备:整理目录建立相关文件layer.htmllayer.jslayer.lessapp.jsindex.html babel-loader 转换ES6代码将es6等转换为浏览器可以直接处理的JS,需使用预处理js的loader:babel第一步要安装babel-loader: 命令行输入npm i --sa...

2018-09-22 11:34:10 807

原创 webpack学习记录一

安装webpack安装node.js:   npm install -g cnpm --registry=https://registry.npm.taobao.org 全局安装webpack到本地环境中:   npm install webpack -g 在项目中使用webpack:   1)通过 npm init 实例化package.json文件     2)通过 npm insta...

2018-09-17 15:16:52 171

原创 剖析ES6的Promise对象

Promise出现的原因传统解决异步操作的时候是采用使用回调函数的方式,并且当存在多个异步操作需要处理时,需要多次嵌套回调就会产生callback hell,且代码的可读性不高。Promise能够很好的解决这些问题。 Promise对象的状态Promise 对象有三种状态:  Fulfilled 可以理解为成功的状态   Rejected 可以理解为失败的状态   Pend...

2018-09-11 21:53:23 204

原创 Vue中数组更新后视图不动态更新原因剖析

在Vue的官方文档有提到这样一个注意事项:由于 JavaScript 的限制,Vue 不能检测以下变动的数组:1)当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue2)当你修改数组的长度时,例如:vm.items.length = newLength 也就是说,直接设置数组的某一项的值,虽然改变了数组的值,但视图上显示的仍为数组之前的...

2018-08-28 16:31:57 6121

原创 今日份算法 — 104. 二叉树的最大深度

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 104. 二叉树的最大深度        给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。注意递归返回节点数时要加1。代码如下:/** * Definition for a binary t...

2018-08-28 13:45:11 108

原创 JavaScript引擎的内部运行机制

JS的一大特点就是单线程,所谓单线程就是,同一时间内只能执行一个任务,执行完这个任务才能执行下一个任务。执行任务的这一条线程也可称为主线程。 为了不让CPU空下来去等待IO设备(如从后台获取数据),所以将任务分成了同步任务和异步任务。同步任务指在主线程上排队执行的任务,只有前一个任务执行完毕才能执行下一个任务。异步任务指不进入主线程的任务,而进入"任务队列"(task queue)的任务。...

2018-08-28 10:35:31 198

原创 数字格式化为金额格式 (3位一个逗号隔开)

var fomatNum = function (num) { // 将数的小数部分和整数部分分开操作 将整数部分进行三位一逗号的操作 var arr = num.toString().split('.'); var l = arr[0], r = ''; // 判断是否存在小数部分,如果存在才获取 if (arr.length == 2) { r = arr[1];...

2018-08-26 12:10:49 9476

原创 今日份算法 — 100. 相同的树 101. 对称二叉树

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 100. 相同的树        给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。代码如下:/** * Definition for a binary tree node. * function Tree...

2018-08-07 14:13:49 128

原创 今日份算法 — 70. 爬楼梯 83. 删除排序链表中的重复元素

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 70. 爬楼梯        假设你正在爬楼梯。需要 n 步你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?分析:爬一个台阶有1种方法,两个台阶有2种方法,爬三个台阶有1+2=3中方法,爬四个台阶有2+3=5中方法,依次类推,爬i个台阶有( ...

2018-08-06 13:32:44 115

原创 今日份算法 — 21. 合并两个有序链表 67. 二进制求和

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。代码如下:/** * Definition for singly-linked list. * function ListNode(val) { * ...

2018-08-05 19:25:12 140

原创 今日份算法 — 56. 合并区间

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 56. 合并区间给出一个区间的集合,请合并所有重叠的区间。分析:将Interval的start与end元素分别置于两个数组中并排序,遍历通过比较排序后两数组的元素大小得出合并后的区间。代码如下:/** * Definition for an interval. * func...

2018-07-31 21:09:12 245

原创 今日份算法 — 859. 亲密字符串

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 859. 亲密字符串给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。分析:出现亲密字符串的结果有两种:(1)第一种是两个字符串有且只有两个位置的字符不相同且并且交换两个位置的字符能...

2018-07-29 16:28:20 937

原创 今日份算法 — 680. 验证回文字符串 Ⅱ

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 680. 验证回文字符串 Ⅱ给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。分析:设置字符串的首尾指针i和j,利用指针比较字符串首尾的字符,如果遇到不相等的情况,分别截取包含s[i]~s[j-1]和s[i+1]~s[j]的子字符串,并判断两个子字符串是否为回文字符...

2018-07-28 22:06:12 318

原创 今日份算法 — 657. 判断路线成圈 557. 反转字符串中的单词 III

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 657. 判断路线成圈初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到原来的位置。 移动顺序由一个字符串表示。每一个动作都是由一个字符来表示的。机器人有效的动作有 R(右),L(左),U(上)和 D(下...

2018-07-22 16:29:15 132

原创 JS实现 LeetCode 数组类算法(六)

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 724. 寻找数组的中心索引给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该...

2018-07-22 15:53:51 231

原创 JS实现 LeetCode 数组类算法(五)

更多算法实现见:https://github.com/Erindcl/Daily-algorithm628. 三个数的最大乘积给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。分析:因为有负数的出现 有两种结果构成最大乘数,一是三个最大正数相乘,二是一个最大正数和两个最小负数相乘。故将数组排序后 将上述两种情况都进行计算 比较两者结果大小就可求出最大值。代码如下:...

2018-07-22 15:30:25 249

原创 今日份算法 — 520. 检测大写字母 551. 学生出勤纪录 I

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 520. 检测大写字母给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"...

2018-07-19 17:29:30 224

转载 正则表达式全部符号解释

 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 $...

2018-07-19 16:36:28 115

原创 JS实现 LeetCode 数组类算法(四)

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 532. 数组中的K-diff数对给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对。这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k.、 注意: 数对 (i, j) 和数对 (j,...

2018-07-19 16:03:40 257

原创 JS实现 LeetCode 数组类算法(三)

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 268. 缺失数字 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 分析:将数组进行升序排序,没有缺失的数组元素应该与其下标相等,故排序后遍历数组,将数组下标与元素进行比较,若不相等,则数组下标即为该数组缺失的元...

2018-07-18 16:40:05 189

原创 《你不知道的JS》(上)第二部分 对this的理解

对this的错误理解:    1)this指向函数自身;     2)this指向函数的作用域。this指代什么取决于函数的调用位置。有四种绑定规则帮助我们确定this的绑定对象:    1)默认绑定:当在全局作用域中独立调用函数的时候,如 fun(); ,此时this指代的是全局对象,即window。     2)隐式绑定:在函数调用时,其存在上下文对象,也就是被某个对象拥有,如:v...

2018-07-18 15:34:34 151

原创 JS实现 LeetCode 数组类算法(二)

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 88. 合并两个有序数组给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等...

2018-07-17 19:18:58 197

原创 JS实现 LeetCode 数组类算法(一)

更多算法实现见:https://github.com/Erindcl/Daily-algorithm 1. 两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。思路:遍历数组,将数组的某个元素与在该元素后面的其他元素进行求和,将和与目标值进行比较,若相等则返回两元素的索引。代码如下:var two...

2018-07-16 17:50:34 313

原创 《你不知道的JS》(上)第一部分的学习笔记

# 作用域和闭包## 第一章#### 编译原理:(三步走)- 分词/词法分析:将代码块分解为一个个的词法单元- 解析/语法分析:将词法单元流(数组)转换为抽象语法树(AST)- 代码生成:将AST转换为可执行代码的过程#### 变量赋值操作过程:1)编译器在当前编译器会在当前作用域中声明一个变量(如果之前没有声明过)  2)在运行时引擎会在作用域中查找该变量,如果能够找到就会对它赋值#### 赋值...

2018-07-16 15:52:57 292

原创 flex布局实现筛子点数以及对于flex布局的思考

之前在一次面试中被问道flex布局较普遍CSS布局的优点在什么地方,就个人经历而言,flex布局比普通CSS布局简便很多,比如我们要进行一个简单的一行四个li的无序列表的排列,要求相邻li元素间隔自适应,首尾元素要与ul容器没有间隙,效果图如下:普通CSS布局为:<!DOCTYPE html><html lang="en"><head> <meta...

2018-03-23 22:27:18 992

原创 原生JS实现翻页

话不多说,直接上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&gt

2018-03-23 09:29:04 2455 1

原创 vue中父子组件的相互传递

子组件从父组件那获取数据 在子组件中, 把他想要从父组件那得到的数据写在props中 在父组件中, 调用子组件像这样 父组件从子组件那获取数据 在子组件中,触发函数调用this.$emit('事件名', 传递的数据) 在父组件中, 在调用子组件时    注:getVal(val){this.val=val} 为method内一函数实例如下:实现功能介绍:点击父组件按钮设置isShow的值,传给子组

2018-01-18 16:13:03 326

原创 vue 插件的使用

文档结构:首先根据需求自定义插件,即编辑 Notice.vue其次在NoticeController.js中调用install方法。NoticeController.js内容如下:import vueNotice from './Notice.vue' // 导入组件const vuenotice = { install (Vue, options) { Vue.comp

2018-01-18 14:32:04 651

原创 对于$(this).index();错误理解的纠正

$(this).index()返回的是该节点在兄弟节点中排行第几,从0开始计数注意是同一父级元素的兄弟节点!!!不能跨级!!!如: 12 0 1 2 3 4$(".time_check12").click(function(){ console.log($(this).index()); })无论点击以上的哪个span内的

2017-12-27 19:46:16 2852

前端知识大纲

本人参加今年的秋招之后,对前端知识和一些常遇到的问题的总结,具体内容可以查看本人博客https://blog.csdn.net/m0_37747665/article/details/83213276

2018-10-20

空空如也

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

TA关注的人

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