zoukankan      html  css  js  c++  java
  • 关于前端面试遇到的问题值类型和引用类型,1rem等于多少像素

    一、值类型和引用类型

    var a = 5
    function b(x){
        x=6
    }
    b(a);
    console.log(a) // 5

    当a为值类型:数值,布尔值,String,null,undefined时,不会改变原变量a的值,当a为引用类型:对象、数组、函数。a的值会被改变;

    当你传递对象的时候,其实传递的只是引用,实际地址指向的都是一个对象,所以更改会影响原对象,而值类型传的是值,所以不会改原来的变量!

    参考链接:https://www.cnblogs.com/chenwenhao/p/7009606.html

     二、关于1rem等于多少像素的问题

    有遇到过这样一个面试题:在html{font-size:20px;}的前提下,1rem等于多少PX?假如有个750PX的图,里面宽度为100px的盒子,写页面的时候该写多少像素。

    很多人觉着这个问题条件不够!但是其实rem是一个相对值,相对于html的font-size属性来的,和设计图并没有关系

    html{font-size:20px}
    1rem = 20px;
    
    html{font-size:40px}
    1rem = 40px;

    所以这个题目的答案是:在html{font-size:20px;}的前提下,1rem = 20px,而100px的盒子在页面上应该写5rem,和多大的设计图没有关系!

    也许你会问了,要是这么简单,那我为什么写自适应的时候,这个值要算半天,还不知道要怎么除!

    其实,在html{font-size:20px;}的前提下,1rem = 20px,而100px的盒子在页面上应该写5rem,这个时候是不自适应的,意思是在页面上写了 5rem就是写死了100px的意思!

    怎么实现自适应呢,就是你用JS在页面宽度变化的时候不停的修改html的font-size属性,font-size变了比如变成40px,这个时候5rem的就相当于5*40 = 200px了;

    设计图大小的作用就是,比如750px的设计图,盒子宽度100px,你想用盒子宽度100px/20的比例写5rem,那意思是750宽度的页面的html{font-size:20px;},500宽度的页面的html{font-size:13.333333px;},这个font-size的值 = (页面宽度/设计图宽度)*20

    em和rem的不同是em相对于本身的font-size计算的。

  • 相关阅读:
    nginx的location root 指令
    nginx系统真正有效的图片防盗链完整设置详解
    HttpURLConnection请求接口
    Tomcat:IOException while loading persisted sessions: java.io.EOFException解决手记
    jprofiler安装图解及破解码
    养成好的JAVA编码习惯
    JS函数(自调函数)与闭包【高级函数】
    Java基础加强-(注解,动态代理,类加载器,servlet3.0新特性)
    Intent显示启动与隐式启动
    JSP中四种传递参数的方法
  • 原文地址:https://www.cnblogs.com/zhujunislucky/p/10251552.html
Copyright © 2011-2022 走看看