前端开发关键技术点杂烩秒速赛车稳赢

2018-09-12

  CSS Reset就是由于各种浏览器解释 CSS 样式的初始值有所不同,导致设计师在没有定义某个 CSS 属性时,不同的浏览器会按照自己的默认值来为没有定义的样式赋值,秒速赛车稳赢所以我们要先定义好一些 CSS 样式,来让所有浏览器都按照同样的规则解释 CSS,这样就能避免发生这种问题。本质就是清除浏览器默认样式,并且进行全局样式定义,Reset 文件要在项目初期定好,这样才不会产生后期的回归测试问题。

  静态资源:代码压缩合并、CSS雪碧图、5宀椾綅鎶?1浜洪潚宀涘墠绔伐绋嬪笀绱т繌,分析 FTTB 是否采用 CDN、服务器开启 GZIP 压缩、图片压缩、静态资源使用独立域名,防止域名污染(静态资源不需要携带 Cookie,又叫 Cookie 隔离);

  在一些类 C 的语言中有块级作用域,即花括号的每一段代码都有自己的独立作用域,而 JS 只有函数级作用域;JS 作用域链的第一个对象始终是当前执行代码所在环境的变量对象(VO),声明函数在全局作用域,此时作用域链只有一个环境对象;运行函数时作用域链顶端加入了函数内的环境对象,运行完毕时顶端环境对象被销毁,以此类推。

前端开发关键技术点杂烩秒速赛车稳赢

  CSS 预处理器用一种专门的编程语言,在编写 CSS 的过程中可以使用变量、循环、递归等特性,然后再编译成正常的 CSS 文件,可以提高 CSS 编写效率,常用的预编译语言有 LESS SESS 等。

  笔者公司用的是 CakePHP 和 Laravel 两套 PHP 框架,Laravel 本身有自己的模板引擎,同时可以与 Gulp 进行无缝衔接;模板会预留出需要替换的变量位置,前后端分离处理;前端模板可以进行模板的继承与嵌套;

  JS 在查找变量时会从链的顶端(就近原则)一直向下查找。如果一个跨作用域的对象被引用了一次以上,则先把它存储到局部变量里再使用。全局变量总是存在于运行期上下文作用域链的最末端,因此在标识符解析的时候,查找全局变量是最慢的。

  Hybrid App 底层依赖于 Native 提供的容器(UIWebview),上层使用传统前端技术做业务开发,底层透明化、meta c爱彩秒速赛车,上层多样化,这种场景非常有利于前端介入,非常适合业务快速迭代。(详情需深入研究,笔者这方面研究不多)

前端开发关键技术点杂烩秒速赛车稳赢

  完美结局:FastClick 的实现原理是在检测到 touchend 事件的时候,会通过 DOM 自定义事件立即出发模拟一个 click 事件,并把浏览器在300ms之后的 click 事件阻止掉。

  Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的。元素的类型和 display 属性,决定了这个 Box 的类型。 不同类型的 Box, 会参与不同的 Formatting Context(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。

  区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。

  加载性能:压缩样式表,不要使用 @import(诞生于 CSS2),@import 使用在低网速下会存在页面闪烁问题(link 是在加载页面前把 css 加载完毕,而 @import 则是读取到引用的文件之后再加载,会延长页面的留白期);

  流应用,结合了原生 App 和 Web App 的优势,又消除了各自的缺点。流应用建立在 H5+ 这一突破性技术之上,通过强化 HTML5 使其达到原生 App 的功能和体验,并辅以类似流媒体的边用边下发行技术,这2项技术是流应用诞生的关键。

  这里总结一下 WEB 前端面试的常见问题,同时这些问题也是对一些基础的技术概念和思想的理解。对这些基本知识的掌握程度和深度决定了你的技术层级。高级工程师是必须掌握本文列出的这些知识的,资深工程师则要对这些基本概念的纵向深度进行挖掘。文/YHSPY

  可以简单理解为函数里的函数,两个常见作用:一可以读取函数内部的变量、二让这些变量的值始终保持在内存中。父函数定义的变量在子函数的作用域链中,子函数没有被销毁,其作用域链中所有变量和函数就会被维护,不会被销毁。

前端开发关键技术点杂烩秒速赛车稳赢

  因为在移动端浏览器,事件执行的顺序是 touchstart touchend click,而 click 事件有300ms的延迟,当 touchstart 事件把B元素隐藏之后,隔了300ms,浏览器触发了 click 事件,但是此时B元素不见了,所以该事件被派发到了A元素身上。如果A元素是一个链接,那此时页面就会意外地跳转。