自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿超的博客

Love Ayn

  • 博客(21)
  • 收藏
  • 关注

原创 多益网络校招笔试题(前端工程师)

写出inline和inline-block的差别:布局方式相同,唯一的区别在inline-block可以设置宽高,inline不可以。另外:inline设置上下内边距和上下外边距会造成一些mess。详见:What is the difference between display: inline and display: inline-block?写出五大主流浏览器的内核简要介绍主流浏览器的内

2017-08-30 22:48:13 12136

转载 简要介绍主流浏览器的内核

1 想说的话浏览器内核(browser kernel)是浏览器最为核心的部分(OS:废话)。国内的浏览器(诸如360,QQ,搜狗)大多数用了第三方的内核,不同的只是外观以及一些装饰性的功能罢了。(有些浏览器是双核模式,标准模式下是chrome的内核,兼容模式下是IE的内核,用以向下兼容旧网页,诸如360浏览器。)浏览器内核可以分为两部分,一部分是渲染引擎(render engineer或layou

2017-08-30 20:34:47 11089

原创 JavaScript异步编程的原理

1 想说的话JavaScript异步编程是前端面试中一个重要内容。为了加深我对此部分内容的印象,故写此博客,主要介绍JS异步编程的运行原理。pre栈队列2 正文本文主要是阐述下面这张图的内容。一图胜千言啊。和C语言类似,JS也有执行栈(execution stack)。执行栈内存储执行上下文(execution context),execution context也被译作执行环境。执行环境一般分为

2017-08-28 16:22:23 1519

原创 《JS高级程序设计》第6章读书笔记:继承对象(四)寄生组合式继承

1 组合式继承的问题组合继承是JS最常用的继承模式,但是它也有问题,(OS:还有完没完了),就是无论在什么情况下,都会调用两次超类型构造函数。具体如何,请看代码:function SuperType(name) { this.name = name; this.colors = ['red', 'blue', 'green'];}SuperType.prototype.sayNa

2017-08-27 14:00:05 463

原创 《JS高级程序设计》第6章读书笔记:对象继承(三)原型式继承和寄生式继承

1 原型式继承原型式继承时道格拉斯,克罗克福德在06年提出的一种新的继承方式。记住这个人,他还推广了另一种继承方式。现给出具体代码:function object(o) { function F() {} F.prototype = o; return new F();}我们可以看到:在object函数内部,我们先创建一个临时性的构造函数,然后让这个构造函数的protot

2017-08-27 11:45:48 470

原创 《JS高级程序设计》第6章读书笔记:继承对象(二)借用构造函数和组合继承

1 借用构造函数为了解决原型链继承引起的不同实例共享引用类型值的问题,开发人员开始使用一种叫constructor stealing的技术,也叫做伪造对象或经典继承。这种技术的思想是:在子类型构造函数的内部调用超类型构造函数。看下面的代码:function SuperType() { this.colors = ['red', 'blue', 'green'];}function SubT

2017-08-26 11:24:58 492

原创 《JS高级程序设计》第6章读书笔记:对象继承(一)原型链

1 前言我前后写了3篇博文阐述创建对象的4种方式。更为可怕的是:《JS高级程序设计》阐述6种对象的方式,虽然其中只有一种方式是常用的。学习了这部分内容,我觉得,如此繁杂的继承方式,即使当初创造JS的作者也会觉得吃惊。2 原型链(继承)原型链自然是基于原型的。我在之前的博客:JS高级程序设计》第6章读书笔记:创建对象(二)原型模式和组合模式以及《JS高级程序设计》第6章读书笔记:创建对象(三)再探原型

2017-08-25 22:39:24 544

原创 《JS高级程序设计》第6章读书笔记:创建对象(三)再探原型

1 前言其实,在 上一篇博客:《JS高级程序设计》第6章读书笔记:创建对象(二)原型模式和组合模式,我们讨论了原型了模式,但是关于原型,我们还没讲完。这一节,我们讨论原型的一些细节。2 原型与in操作符在单独使用in操作符时,如果能够通过对象访问给定属性,无论是是通过原型还是实例,则会返回truefunction Person() {}Person.prototype.name = 'Nichol

2017-08-24 23:56:00 371

原创 前端面试最为经典的问题:输入URL到页面加载完成都发生了什么

1 前言这个可以说是前端面试的最为经典的问题。它不但考察知识面的广度,而且考察深度。而且它层次性,无论是大牛还是小白都能做出针对性的回答。Q&A: Q:网络上已经由这么多关于这个问题的博客,你为什么还要再写? A:我的小学语文老师经常说:好记性不如烂笔头。我的学习经验证明:如果一个复杂的问题,你不去整理或者实践,那么你不能指望:看过答案之后就掌握怎么解决这个问题。另外:我对网络上关于这个问题的回

2017-08-22 15:23:10 1873 2

原创 前端笔试准备:数据库&&操作系统&&算法

1 前言在互联网公司校招时,前端往往会被考察数据库&&操作系统&&算法知识,笔试居多,面试偶尔。此贴记录我遇到的数据库&&操作系统&&算法题。2 数据库ACIDACID指的是一个可靠的数据库系统中,事务应该具有4个特性:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability)如果要详细了解4个特性,可以看此博文。这篇博文结合示例和概

2017-08-20 17:06:00 1243

原创 《JS高级程序设计》第6章读书笔记:创建对象(二)原型模式和组合模式

1 前言JS的OO(面向对象)之所以与一般OO语言不同,一个关键原因在于JS多了原型,也就是prototype这个概念在这篇文章之前,你应该先读下面这篇文章:《JS高级程序设计》第6章读书笔记:创建对象(一)之工场模式和构造函数模式2 原型模式实际上,当我们创建函数时,函数都有一个prototype的属性,指向一个对象,这个对象被称为原型对象,这个对象的用途是:”包含可以由特定类型的所有实例共享的属

2017-08-20 14:13:55 459

原创 《JS高级程序设计》第6章读书笔记:创建对象(一)之工场模式和构造函数模式

1 前言JS在诞生之初,正值Java火热,其作者创造JS是模仿Java,在很多地方又做了简化,被人称为玩具语言。但是它在创造对象,继承这方面又是如此复杂。就继承而言,就有6种方式。这是在我学习的其他语言,如Python, C++, Java中,我未曾见过的。不得不说,这真的很神奇。本文是要讲的创建对象的3种方式:工厂模式,构造对象模式和组合模式。这些内容我是第二遍看了,但是第一遍看是在今年3月份,我

2017-08-20 11:10:33 557

原创 华为历年机考题收录

1 前言华为每年(实习生和校招)的笔试题一般都是三道编程题。大约是因为华为体量太大,岗位太多,如果每个岗位都针对性出题目,成本也高。总的来说,华为的机考题还是比较简单。(即使对于我这样偶尔写写leetcode的前端开发者也是如此。)华为宣讲会的主持人也坦诚机考只要通过一道,华为就给面试的机会。这篇文章用来收录华为历年的机考题。我是用C++答题的,代码的仓库地址在: https://github.c

2017-08-13 00:46:32 55880 11

原创 wireshark实践TCP的三次握手

1 前言我是按照下面这篇文章的指导一步步操作下来的,所以我标记我的文章为转载。虽然我遇到了有些不一样的情况。环境浏览器:chromewireshark:Version 2.2.0 (v2.2.0-0-g5368c50 from master-2.2)源博客: http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html2 实践与

2017-08-12 12:12:30 2372

原创 为什么RegExp.prototype.exec()的返回值会变化

1 环境node:v6.11.12 问题为了方便,我在node环境下测试RegExp.exec()测试结果如下:我们可以看到:同样的代码,返回的结果是交替变化的这是为什么呢?还是要看文档:Finding successive matchesIf your regular expression uses the "g" flag, you can use the exec() method mul

2017-08-10 00:01:47 395

转载 Wireshark for Mac : you don't have permission to capture on that device

前言因为内容来自于网络,所以标注为转载环境macOS:10.12.5报错信息The capture session could not be initiated on interface 'en0'(You don't have permission to capture on that device).参考答案https://stackoverflow.com/questions/4112694

2017-08-07 16:49:23 5056

原创 前端面试纪实(四):如何判断一个变量是数组:typeof和instanceof

这也是面试官问我的一个问题我的第一反应是typeof。但是正中对方下怀。> typeof {}'object'这样返回的是object这是一个JS很怪异的地方。为什么很怪异的呢,因为小白往往以{}和[]区分Array和Object但是如果你看JS的Object官方文档,typeof这样的行为或许有点道理All objects in JavaScript are descended from Ob

2017-08-04 23:30:06 4361

转载 前端面试纪实(三):ES6的const和let

1 前言由于我在简历中写我了解es6,所以杭州有赞的面试官问了我很多es6的问题es6是JS的国际标准化组织在15年推出的新版本JSes6的详细介绍可以看阮一峰老师的开源书籍: http://es6.ruanyifeng.com/#docs/intro由于主要内容来自阮一峰老师的开源书籍,所以本篇文章被我标记为转载。2 let和var的区别2.1 let不存在var的变量提升什么是变量提升,即JS

2017-08-04 21:53:15 1574

转载 前端面试纪实(二):div居中,垂直或者水平居中

0 前言趁热打铁写第二篇写给出HTML代码<div id="outer"> <div id="inner">Foo foo</div></div>1 水平居中水平居中还是挺容易的#inner { width: 50%; margin: 0 auto;}width不一定设置50%,小于outer的宽度即可。我经常用这个。IE8+的话,可以这么写:#inner { displa

2017-08-03 23:04:55 423

原创 盒子模型和box-sizing属性

1 前言从这篇文章开始,我会记录、学习和研究面试中遇到的问题。当然,一般都是关于前端开发的。第一篇文章是讲盒子模型的。2 盒子模型的基本要素以下图中的button为例在chrome浏览器中查看这个元素,结果是这样的:蓝色部分(28 x 32 )是button的content,绿色的是padding,黄色的是border, 深黄色是margin。对的,盒子模型很简单,其实就这个4个概念。3 IE盒子

2017-08-03 22:17:48 12077 5

原创 在vscode中使用JSCS Liting插件:支持.jsx文件

0 前言JSCS官网:http://jscs.info/环境OS:win10vscode:1.14.2jscs: ^3.0.71 如何使用在全局或者项目中通过npm安装jscs$ cnpm install -g jscs或者$ cnpm install jscs --save-dev 配置:最简单的方法是在项目的根目录下新建一个.jsc

2017-08-02 16:16:55 1590

空空如也

空空如也

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

TA关注的人

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