- 博客(18)
- 收藏
- 关注
原创 18年的秋招结束了,前端面经奉上。
写在开头本文已在牛客网上发表过 文章链接每个人面临秋招或者春招的压力的时候,都会产生不小的负面情绪,特别是在没有上岸之前,每天都是难以安稳入眠的,招聘过程中遇到挫折是难以避免的,人总是有怀有恶意的存在,有些时候能力不够得不到面试官的赏识,甚至被讽刺也是常有的事情,生气是必然的,但是被打击到是不能够的,我们不必用他人的错误来惩罚自己。作者是一个双非本科的阿渣,虽然接触前端很久了,但是一直...
2018-11-05 18:26:58
318
原创 自行整理面试知识(JS篇)(三) [算法篇]
严格模式主要的改变就是不允许其删除不能删除的属性,也不允许删除变量和函数,不能对只读的属性赋值,不能使用转义字符,不能重复定义,不能不定义(以前不定义的话会被绑到全局window上),不能把this绑到全局对象上,不允许使用with,保留eval和argument的关键字作用就是为以后的js规范化做好铺垫,同时消除js中一些不合理的地方,提高编译器的效率(等于是用复杂一点的开发过程换了...
2018-11-05 18:06:51
266
原创 自行整理面试知识(JS篇)(二)
继承原型链继承:将子类的原型(prototype)连接到父类的实例,将子类的原始对象替换为父类的实例,从而拿到父类的所有方法和属性不支持多重继承,因为prototype很明显会被新的父类替换其次,创建子类实例的时候,无法向父类构造函数传递参数同时,来自原型对象的引用属性是所有子类共享的,因为原型链向上寻找的时候共享了父类的实例这显然不符合继承的原则构造继承:用c...
2018-11-05 18:06:45
210
原创 自行整理面试知识(CSS篇)(二)
inline-block间隙处理移除空格和换行,使用margin负值,使用font-size:0(谷歌浏览器无效),使用letter-spacing负值(字符间距)或者word-spacing解决(Opera有间隙极限,不支持负值)。所以需要同时设置font-size:0 letter-spacing:-3px,在ie下存在2px覆盖,所以hackIE,*letter-spacing:...
2018-11-05 18:06:41
164
原创 自行整理面试知识(JS篇)(一)
AMD CMD CommonJSAMD是来自于require.js的对模块化的定义CMD是来自于sea.js的对模块化的定义Commonjs是来自于Nodejs的对模块化的规范AMD讲求依赖关系前置,即在定义模块的之前要求其先声明依赖的模块CMD讲求依赖就近,即随用随声明即可。前者实际上是为了能异步加载模块所进行的模块化定义,所以前者的用户体验会比较好。后者放松了A...
2018-11-05 18:06:35
184
原创 自行整理面试知识(CSS篇)(一)
display:none 与 visibility:hidden的区别前者能让元素从渲染树中消失,渲染的时候不会占据任何的空间后者能让元素被隐藏,渲染时会占据空间,仅是不可见前者会致使子孙节点无法被渲染,即时向子节点添加display:block也不能使其显示 后者是可继承属性,子孙节点可以通过设置使其显示修改display会造成文档重排,引起回流,后者只引起重绘css ...
2018-11-05 18:06:30
183
原创 自行整理面试知识(JS篇)(五)[算法篇3]
这一次是来自牛客上面经看到的面试算法 位图转时间将一串字符串转换为时间序列, 样例: 110000010000000000000000000000000000000000000000即输出 [“00:00-01:00”,”03:30-04:00”] 110000010000000000000000000000000000000000000001即输出 [“00:00-01:...
2018-11-05 18:05:14
175
原创 自行整理面试知识(JS篇)(四)[算法篇2]
数组插值大致就是如果一个值在两个值中间,则他跟这两个值的差值要不然是异号的,要不然就是为0的,用这种方式可以无视排序的逆序或者正序,注意剪枝、 let a = [1,2,4,5,6,9,10,13]; const insertNum = (array,num) => { //剪枝 let idx = insertNumInde...
2018-11-05 18:04:58
190
原创 React / Immutabel.js 踩坑记录(二) - 有关immutable.js 和 React {key}
有关immutable.js一、说到 immutable 就得说到 variable(var) 在js中可变性这个特性非常有趣吼,犹记最开始接触js的时候被字符串数组收拾得够呛,var a = b ,修改b居然a也会被修改,实在是让当时我的我难以费解,其实是因为b和a指向的地址相同(当然你也可以说他们是同一对象),无论多少次传递,内存地址不变,就不会有状态的克隆和留存。而immutab...
2018-08-21 04:05:12
567
原创 React / Immutable.js 踩坑记录(一) / 有关setState与React事件
有关setState一、setState是异步的,想要在setState之后立刻得到state中的值,需要使用回调函数二、setState会引起一次渲染(render),所以可以在render或者componentWillUpdate中截获state的改变,注意render发生在setState回调函数执行前,同时在componentWillUpdate / componentWill...
2018-08-21 02:45:44
541
原创 React实现checkbox的反选和全选
这个其实还挺适合入门react练手的,今天看到网上有这个例子但是写的实在不是很好,我复写了一下,感觉还不错,发上来参考一下咯class Checkboxcomponent extends React.Component{ constructor(props){ super(props); this.state = { choos...
2018-08-19 03:56:46
12048
1
原创 简单的webpack+react的项目搭建
脚手架真的太恶心人咯。前端的技术日新月异,不看API连方法变了都不知道废话少说,开始搭建吧首先是nodejs和npm,webpack是依赖于nodejs的,npm是包管理工具,由于比较简单且老生长谈,这里不做赘述,提供一个网址参考一下https://www.runoob.com/nodejs/nodejs-tutorial.html然后在项目根目录下执行npm init 会自动创建一个...
2018-08-17 00:47:55
327
原创 ES6中let的实现方式 -- 优雅而又花式闭包处理
接上文 https://blog.csdn.net/u012312705/article/details/81749777 (有关闭包的经典问题)想要处理不想要发生的闭包,最简单的方式就是let啦以setTimeout形成的闭包为例for(let i = 0 ; i < 10 ; i++){ setTimeout(()=>{ console.log...
2018-08-17 00:02:41
1972
原创 有关闭包的经典问题
function a(){ var aa = 100; this.adda = function(){ aa++; console.log(aa); }}var c = new a();c.adda();众所周知,这是一个闭包,原因是因为adda()函数调用并修改了不属于他作用域里的aa变量,最后输出的是101这段代码还可以写...
2018-08-16 23:13:08
305
原创 自动生成文章目录导航及目录相关UI -- 算法解析-- 原生jq实现
文章目录有关先上git地址,README完整,有需自取https://github.com/xxx407410849/AutoCatelog 求星哦自动生成文章目录的基本原理是对所选容器里的所有子节点进行遍历,得到H1 - H6的标签序列,再在顺序结构的基础上创建(模拟)出一棵树,因为默认大标题包含小标题的条目(如H1 H2,则H1包含H2的条目),所以在这棵树上必不存在HX->HN...
2018-08-06 02:45:13
3072
1
原创 Win7扫雷的H5完整复刻实现(三) / 鼠标左右键同时按下事件与收尾工作的实现
鼠标左右键同时按下展开 提示雷区js不自带监听鼠标左右键同时按下的事件,需要用mousedown进行模拟。空白区(eBlock)不会触发这个事件 _bindEvent: function _bindEvent() { var _this = this; $('.Block').on("mousedown", function(e) { //重设标志 _this.$...
2018-07-18 18:52:48
887
原创 Win7扫雷的H5完整复刻实现(二) / js扫雷算法处理空白连通域与点击不同方块的实现
空白连通域鉴定/点击空白方块接上文实现了大部分扫雷的初始化算法,下面要实现的是查找数组中相邻的0值域,以在点击时进行展开0值区。这里需要初始化一个emptyMap二维数组以记录算法所查找到的零值域,同时可以记录哪些区域被展开过。 //连通判定,展开空白区 //不寻找斜角联通 _linkEmpty: function _linkEmpty(numX, numY) { //四向寻...
2018-07-18 18:23:10
430
原创 Win7扫雷的H5完整复刻实现(一) / js扫雷算法的初次鉴定与地图初始化实现
学校实训最后布置的一个答辩作业,周围同学都是在用资源做简单动画,突然想起大一的时候想用C语言模拟的扫雷,虽然做H5游戏比较少,但是还是较完美的复刻了WIN7扫雷的大部分算法和UI。简单扫雷本身的实现难度不算太高,若是想要完美复刻win7的扫雷,还是需要费一番功夫的,这份无聊之作(装逼之作)是用两天时间写出来的,某些地方略有缺陷,但无伤大雅。虽然本作是用JS语言实现逻辑,但是其他语言仍有互通...
2018-07-18 17:33:17
1467
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人