在上一次面试里我遇到了几个问题,一下子没答上来QAQ
我去了解了一下,现在分享给大家
面试题
Q1:为什么设计师给的设计图到前端开发师手里要除以二?
A:像素分为物理像素和逻辑像素,设计师提供的是物理像素,而我们使用的是逻辑像素。
物理像素并不代表css中使用的像素。
如iphone5s的逻辑分辨率是320×568,而物理分辨率是640×1136,像素倍率是2倍。
Q2:angular中的自定义指令有什么意义?
A:自定义指令就是自己的指令,加上编译器编译DOM时运行的原生核心函数。
我们加入需要复用一段代码而又不想复制粘贴,我们可以把这段代码放到一个单独的文件,并使用自定义指令的代码,而不是一遍一遍的复制粘贴,这样的代码更容易理解。
Q3:如何阻止全局变量的覆盖?
A:情况如下
//a.js
<script type="text/javascript"> var a=123,b="hello world"; </script> //b.js <script type="text/javascript"> var a,c="abc"; </script>
我们使用匿名函数(a.js和b.js中的a都不是全局变量,但是b.js中无法访问a.js中的b,没办法通信)
//a.js (function() { var a=123,b="hello world"; })(); //b.js (function() { var a,c="abc"; })();
Q4:什么是弹性盒布局?
A:弹性盒布局其实并不难,就是我们所接触的flex布局,进行排列、对齐和分配空白空间的功能。
是页面需要适应屏幕不同大小以及设备类型时保证元素分布合理的布局方式。(那时候居然忘记弹性盒布局就是flex布局了QAQ)