jichu

1.左右布局,左边定宽,右边自适应,不少于三种方式

1.
.ad-banner {
    position: relative;
    .left-block {
        width: 60px;
        position: absolute;
    }
    .right-block {
        box-sizing: border-box;
        width: 100%;
        padding-left: 60px;
    }
}
2.
.ad-banner {
    position: relative;
    .left-block {
        width: 60px;
        float:left;
    }
    .right-block {
        box-sizing: border-box;
        width: 100%;
        padding-left: 60px;
    }
}
3.
.ad-banner {
    display: flex;
    .left-block {
        width: 60px;
    }
    .right-block {
        box-sizing: border-box;
        width: 100%;
    }
}

2.左右定宽,中间自适应

1.flex就直接写
2.
.middle{
 float:left;
width:100%;
padding:0 30px;
}
.left{
float:left;
width:30px;
margin-left:-100%;
}
.right{
float:left;
width:30px;
margin-left:-30px;
}

3.页面进度条如何实现

页面进度条是不可能算准确的,只能是通过预估来给 用户提示,告诉用户我正在跑,没死机,如果单个页面倒是可以缓慢加载,突然加载至100%;

4.实现一个弹框

(function(window){
var Modal = function(ele){
  this.ele = ele;
  this.init();
  }
Modal.prototype.open=function(){}
Modal.prototype.close=function(){}
Modal.prototype.init=function(){
var self = this;
if(this.ele.addFunc){
  this.ele.addEventListener('click',function(e){
    e.preventDefault();
  })  
}
}
 window.Modal=Modal;
})(window)

5.输入一个URL,Enter之后发生了什么

1.先通过找浏览器的缓存和host,如果没有则找一路向上找,直到找到根dns,找到对应的IP并请求
2.进行TCP的三次握手,握手成功后,发起HTTP请求。一般当connection为keep-alive,表示持久链接,浏览器每隔45s发送一个TCP的keep-alive包来确定链接是否存在。nginx默认75s没有请求则断开。
3.浏览器开始解析页面,先解析HTML页面,当遇到js/css/img时会发送请求,同步代码解析,所以,一般js放在html最后获取解析,如果放在html前部,最好加defer进行解析。生成对应的HTML的dom树和CSS的CSS规则树。结合为渲染树。根据渲染树计算节点并进行布局。
根据计算好的节点绘制页面,TCP四次🙋断开链接。

6.玩


function P(){}
P.prototype.a = 'a';
function C(){}
C.prototype = new P();
var obj1 = new C();
通过obj1来进行修改a
1.obj1. __ proto __ .a = 'b'
2.obj1.constructor.prototype.a='b'


说一下jpg\png\gif
jpg:是经过压缩的图片,不支持动图,不支持透明,一般是产品图或者banner图,经常换
png:无压缩,支持透明,一般是logo图等小图。

7.200,301,302,304,400,404,500,503

100:服务器接收请求,客户必须继续发出请求
200:成功状态码,表示成功请求到数据
301:永久重定向,当请求为此code时,将请求引至其他页面
302:临时重定向
304:not Modified,没有修改,一般协商缓存会有此提示
400:请求的参数有错误
403:nginx请求失败
404:请求的url有错误
500:服务器内部错误
502:错误网关
503:服务器请求错误,服务不可用
504:一般是nginx超时错误

8.CSS 动画

transition:过渡
animation: 动画
transform:变形
animation:test 1s linear infiniter
@keyframe test 里边有两种,一种是from to另一种是百分比
transition: all 2s 延续时间 延迟时间,放在hover内,不会有收缩回去的效果,要放在对应的box内有比较好的效果
transform:主要包括旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix。

9.两个界面都是100个元素,那么为什么加载快慢不一致?怎么改进?

虚拟DOM其实已经解决了这个问题,但如果有这样的性能问题,可以等数据全拿到后,一次性innerHTML或者先display:none,往ul里面进行插入li,在display:block;这样就reflow,repaint两次了。

10.说一下二分查找

10.快速排序

11.说一下你了解的es6

let, const是块级作用域,一个是可以修改的值,一个是不可修改的值。ES5中只有函数作用域和全局作用域,循环中,变量的值容易泄漏为全局作用域中的值,ES6新增里块级作用域,外部作用域无法获取内部作用域中的值。
箭头函数:看上去是匿名函数的一种简写,但实际上他与匿名函数最大的不同在于箭头函数内部的this是词法作用域,由上下文确认,再也不用之前那种hack的写法that=this,也无法用call和apply来改变this的指向

12.写一个bind方法

Function.prototype.copyBind = function (){
var self = this;
var that = [].slice(0,1).call(arguments)
self = Arrary.prototype.slice.call(arguments,0,1);
var args = [].slice(1).call(arguments);
return function(){
var newArgs = [].slice(0).call(arguments);
self.call(that,newArgs.concat(args));
}
}

13.Promise

promise外部无法改变它的状态,那么内部能改变它的状态吗?

14.记忆化斐波那契函数(Memoization)

function fib(n, a=1,b=1){
  if(n<2){
    return b;
  }
  return fib(n-1,b , a+b)
}

15.创建 “原生(native)” 方法

console.log('hello'.repeatify(3)); // hellohellohello

String.prototype.repeatify = String.prototype.repeatify || function(times){
      var result = '';
      for(var i = 0 ; i < times; i++){
          result += this;
        }
    return result;
}

16.同字母异序

isAnagram("anagram", "nagaram") // => return true.
isAnagram("rat", "car") // => return false.

 function isAnagram(data){
  var dataArr = data.split('');

}

17.写一个闭包

 var cal = counter();
 var cal2 = counter();
   function counter(){
       var num = 0;
       function add(){
           return ++num;
        }
        return add;
   }
   cal();   //num=1
   cal();   //num=2
   cal2();   //num=1
   cal();   //num=3

18.继承

function Person(name){
    this.name=name;
}
Person.prototype.eat=function (food){console.log('eat'+food);}
function Child(pName,cName){
    Person.call(this,pName);
    this.cName=cName;
}
Child.prototype = new Person();
Child.prototype.constructor = Child;
好处:可以共享父元素的prototype,也可以向父元素传参数。
坏处:需要构造函数new两次

function copyPrototype(person, child){
  var copyPrototype = Object.create(person.prototype); //复制父类superObj的原型对象
  copyPrototype.constructor = child; //constructor指向子类构造函数
  child.prototype = copyPrototype;//再把这个对象给子类的原型对象
}
function Person(name){
this.name = name;
this.color=[1,2]
}
function Child(name){
Person.call(this,name);
}
copyPrototype(Person,Child)
var s1 = new Child('childsss');
好处:不需要new两次以及前边的所有好处
Object.create是ES6为了规范原型继承而提出的方案
function object(o){
function f(){}
f.prototype = o;
return new f()
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342