前端_面试

栏目: CSS · 发布时间: 5年前

内容简介:<!--变量提升--><p>当执行JS代码时,会生成执行环境,代码不是在全局执行环境中,就是在函数执行环境中.JS解释器在解释一段代码时,第一阶段:对于var 会先找出来进行变量提升,给它们在内存提前开辟好空间,函数的话会将整个函数存入内存中,变量只声明并且赋值为undefined,第二阶段,代码执行.</p>

当执行JS代码时,会生成执行环境,代码不是在全局执行环境中,就是在函数执行环境中.

JS解释器在解释一段代码时,第一阶段:对于var 会先找出来进行变量提升,给它们在内存提前开辟好空间,函数的话会将整个函数存入内存中,变量只声明并且赋值为undefined,第二阶段,代码执行.

call和apply都可以解决this指向,作用域是相同的,传参的方式不同.call可以接收一个参数列表,apply只接收一个参数数组.bind方法会返回一个函数,且通过bind实现柯里化.

1.css样式表放在页面头部Header内且Link链式接入,javaScript放在底部body结束标签前避免堵塞.

2.代码压缩:html/css/js/图片进行压缩,图片预加载,懒加载,图片加载使用TinyPNG.

3.减少DOM元素数量且减少使用:after等伪类的使用,有效避免页面重绘/重排.

4.不常变动的静态资源采用CDN分发,img标签设置高宽,减少页面重排/重绘,使用WebP格式图片,对原图进行98%压缩.

5.域名拆分:增加了浏览器请求的并发数,让浏览器能同时发起更多的请求,解决默认携带的Cookie问题,减少数据传输字节.

通常分为三类:前端类:业务代码本身html,css,js,图片等. 静态类:CDN资源类 动态类:后端API接口类.

6.合理使用dns-prefetch, prefetch,preload,defer,async;

JavaScript

执行上下文,尤其是词法作用域和闭包.提升机制,函数与块级作用域,以及函数表达式和声明

绑定,特别是bind,apply,this关键字,对象原型,构造函数和mixins,组合函数和高阶函数.

时间委托和冒泡,typeof instanceof和object.prototype,toString

使用回调,promiss和await和async处理异步调用.使用函数声明和表达式

DOM

如何遍历和操作DOM,包括使用document.querySelector和旧浏览器中的document.getElementsByTagName选择或查找节点。上下遍历(Node.parentNode,Node.firstChild,Node.lastChild和Node.childNodes),左右遍历(Node.previousSibling和Node.nextSibling)在DOM树中添加,删除,复制和创建节点,以及切换,删除或添加CSS类名等操作。

CSS

布局

HTML


以上所述就是小编给大家介绍的《前端_面试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

用户故事地图

用户故事地图

Jeff Patton / 李涛、向振东 / 清华大学出版社 / 2016-4-1 / 59.00元

用户故事地图作为一种有效的需求工具,越来越广泛地应用于开发实践中。本书以用户故事地图为主题,强调以合作沟通的方式来全面理解用户需求,涉及的主题包括怎么以故事地图的方式来讲用户需求,如何分解和优化需求,如果通过团队协同工作的方式来积极吸取经验教训,从中洞察用户的需求,开发真正有价值的、小而美的产品和服务。本书适合产品经理、用户体验设计师、产品负责人、业务分析师、IT项目经理、敏捷教练和精益教练阅读和......一起来看看 《用户故事地图》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具