【面试】常见的前端面试题(1)
程序员文章站
2022-06-10 14:22:31
...
一、undefined和null的区别
解答:undefined表示“无”的原始值,null表示“无”的对象。
(1)undefined == null //true
(2)undefined === null //false
(3)利用Number转换时:Number(null) = 0;Number(undefined)=NAN
(4)typeof 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的好。