blog icon indicating copy to clipboard operation
blog copied to clipboard

2018大厂高级前端面试题汇总-答案

Open ly2011 opened this issue 7 years ago • 0 comments

  1. 移动端适配1px问题 构建1个伪元素,将它的长宽放大到2倍,边框宽度设置为1px,再以transform缩放到50%
.radius-border {
    position: relative;
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
    .radius-border:before {
        content: "";
        pointer-events: none;
                /* 防止点击触发 */
        box-sizing: border-box;
        position: absolute;
        width: 200%;
        height: 200%;
        left: 0;
        top: 0;
        border-radius: 8px;
        border: 1px solid #999;
        -webkit-transform(scale(0.5));
        -webkit-transform-origin: 0 0;
        transform(scale(0.5));

        transform-origin: 0 0;
    }
}
  1. 居中为什么要使用transform(为什么不使用marginLeft/Top)

top/left花了大量的时间去绘制每一帧。所有的css包括box-shadow都是在CPU上计算的。在translate版本中,却让这个 macbook 在自己新的图层在GPU中得到提升。此时此元素的macbook是在自己单独的一层上,任何2D transform, 3D transform或者opacity的变化都可以完全的使用GPU,GPU可以保持非常快并且可以给我们提供非常快的帧速率。

  1. 怎样实现this对象的深拷贝
function deepCopy(obj) {
   const newObj = JSON.parse(JSON.stringify(obj))
   return newObj
}
  1. 表单可以跨域吗?

ly2011 avatar Dec 29 '18 06:12 ly2011