欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【面试】常见的前端面试题(1)

程序员文章站 2022-06-10 14:22:31
...

一、undefined和null的区别
解答:undefined表示“无”的原始值,null表示“无”的对象。

1undefined == null   //true2undefined === null    //false3)利用Number转换时:Numbernull) = 0Numberundefined)=NAN
(4typeof null  ="object"typeof undefined = undefined

除此之外,null表示原型链的终点,object.prototype = null;
undefined通常表示:
(1)变量定义了没有初始化
(2)对象上没有定义的属性值
(3)函数没有指定return时 ,函数默认的返回值是undefined
(4)函数的参数没有传值时为undefined

var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var  o = new Object();
o.p // undefined

var x = f();
x // undefined

实际上1、2、4情况是类似的

二、rem和em的区别
两个均是相对长度单位
(1)rem相对根元素HTML的font -size的大小而言,font-size的大小就代表1rem代表的大小:

html{
            font-size:16px;
        }
        .child{
            width:10rem;
            height:10rem;
            border:1px solid red;
        }

上面的child元素的width为160px,
(2)em长度单位是相对于父级元素的font-size的大小而言的,同理父级元素的font-size的大小就代表一个em的大小,其麻烦的是计算时需要层层递进计算,使用起来没有rem方便,但是rem的兼容性没有em的好。