前端面试总结

JS 基础

  1. 五种原始类型:Number, Boolean, String, undefined, null.
  2. 七种数据类型:Number, Boolean, String, undefined, null, Object, Symbol.
  3. 类型判断方法
    typeof A: 多用于原始类型判断。
    A instanceOf B:原型链判断,B的原型是否存在于A的原型链中,不适用于多窗口判断。
    constructor:根据实例的constructor可以判断自定义类。
  4. Array 方法
    isArray:判断是否为数组对象。
    indexOf:查找元素,并返回元素在数组的索引。
    slice:从数组中返回选定范围的元素。
    concat:返回拼接后的新数组。
    splice:修改原数组,并返回被移除的数组。
    push:修改原数组,尾部增加一个元素。
    pop:修改原数组,尾部删减一个元素。
    unshift: 修改原数组,头部增加一个元素。
    shift: 修改原数组,头部删减一个元素。
    sort: 排序,正序,支持排序函数。
    reverse:排序,反序,支持排序函数。
    toString:转换为字符串,以“,”连接元素。
    toLocaleString:每个元素调用toLocaleString。
    join:按指定连接符号转换为字符串。
    every, filter, forEach, map, some, reduce ...
[p1, p2, p3].reduce((acc, cur) => {
  return acc.then(cur).catch(console.log)
}, Promise.resolve(0))
  1. String 方法
    charAt:返回字符串指定位置的字符。
    charCodeAt:返回字符串指定位置的字符编码。
    fromCharCode:字符编码构建字符串。
    substring,slice:返回指定范围的字符串。
    substr:指定起始位置和需要提取字符个数返回。
    indexOf:返回搜索字符串所在字符串中的索引。
    trim:删除字符串尾部空格。
    toLowerCase、toUpperCase:大小写转换。
    match:正则匹配,返回匹配结果。
    search:正则匹配,返回匹配字符的索引。
    replace:替换字符,支持正则。
    split:分隔符拆分字符串,支持正则。
  2. 原型:一个可以实现对象属性继承的特殊对象 [[prototype]],不可直接访问。每个函数都有一个prototype属性,实例化后通过proto保持对prototype的引用。
  3. 原型继承
// 寄生(闭包)组合继承
function Child(name) {
 Supper.call(this); // 父类初始化
 this.name = name; // 初始化
}
(() => {
 const Bridge = function(){}; // 子、父类之间的桥接
 Bridge.prototype = Supper.prototype; 
 Child.prototype = new Bridge();
 Child.prototype.constructor = Child;
})();
  1. 原型链
    image.png
  2. 作用域、作用域链
    作用域分为全局作用域、函数作用域 和 eval 作用域,是在函数调用时在堆中分配的一个对象。作用域链式指在代码执行环境时的调用栈,全局作用域永远时在栈低,当关闭窗口时才会被销毁。
  3. 闭包
    闭包,包含对外部作用域的引用,并在将来某一时间可能被调用的函数。
  4. Ajax机制
    XMLHttpRequest是ajax的核心机制,主要是进行服务器数据的异步请求操作,浏览器对并发的请求是有限制的,一般10个左右。通过XHR实例的open方式设置请求参数,通过send来发送请求,通过onreadystatechange 来进行请求结果的判断,并通过responseText获取请求结果。
  5. JSONP机制
    Jsonp跨域请求主要是通过script标签进行跨域请求,在跨域请求之前,在全局作用域中定义好相应的处理函数,并把函数名称告知后端。后端通过url获知该函数名称,并构造相应的调用代码进行响应。而获得响应后的script将自动运行。该方法只能用于get请求,并需要后端配合。
  6. 事件机制
    DOM0:通过onclick进行一个事件绑定。
    DOM2:通过addEventListener,removeEventListener进行事件绑定管理,并且支持事件捕获和事件冒泡(父节点捕获,子节点捕获,子节点冒泡,父节点冒泡,按事件注册顺序执行),默认为冒泡。而事件响应回调的参数为事件对象,包含dom信息,以及控制后续操作API。
    DOM3:类似DOM3,但事件有区分大小写。
  7. 事件委托
    利用冒泡的原理,把子节点的事件交由父节点进行监听并处理,而在移除父节点时,只需对父节点绑定事件进行解绑即可,而且可以提高性能,支持动态节点的事件处理。

CSS 基础

  1. 行内元素:无法设置宽高, marginTop/marginBottom无效,不会自动换行。
  2. 块元素:可设置宽高,支持自动换行。
  3. 行内块元素:可设置宽高,不支持自动换行。
  4. float:元素浮动,脱了文档流,使用时需要清除浮动,避免布局错乱。
  5. flex:二维布局,内部元素无法切换为行内元素。
  6. rem, vw:手机端适配单位,rem需MediaQuery对不同分辨率的手机进行html的fontSize设置。vw为视口单位。

HTML5 基础

  1. canvas:画布,通过getContext来获取操作环境。
  2. svg:矢量图,放大不会失真。
  3. iconfont:字体图标,放大会失真。
  4. video,audio:音视频播放器,配合canvas进行界面美化。
  5. transform:几何操作,借助GPU进行重新渲染。
  6. key Frame:动画帧定义。
  7. websocket:通讯机制,用于实现运算隔离。
  8. index DB:本地数据库,存储大数据。
  9. File Api:文件操作,Blob、URL、FileReader等。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,527评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,314评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,535评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,006评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,961评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,220评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,664评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,351评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,481评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,397评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,443评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,123评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,713评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,801评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,010评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,494评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,075评论 2 341

推荐阅读更多精彩内容