前端面试中常见的一些问题及解答


作者:朱培鑫

时间:2018-01-08

1. js有几种数据类型?
js分为两大数据类型,一类是值类型,一类是引用类型,其中值类型包含数值型(Number),字符串型(String),布尔型(Boolean),null,undefined,引用类型包括Object,共六种数据类型,ES6中提出第七种数据类型Symbol,表示一种独一无二的值。

2. js数组去重
①原始方法

function deleteRepeat(arr) {
    var result = [];
    arr.forEach(function (t) { 
        if(result.indexOf(t) === -1){
            result.push(t)
        }
    })
    return result;
}
deleteRepeat([1,2,3,1,2,3]);//[1,2,3]

②ES6写法:

var arr = [1,2,3,4];
arr = [...new Set(arr)];//[1,2,3]

3. 获取当前网址url并从中截取信息
获取url相关信息,需要借助Window对象下的Location对象,location对象的一些属性如下:

属性描述
href设置或者返回完整的URL
host设置或者返回主机名和当前URL的端口号
hostname设置或者返回当前URL的主机名
pathname设置或者返回当前URL的路径部分
port设置或者返回当前URL的端口号
protocol设置或者返回当前URL的协议
hash设置或者返回从(#)开始的URL(锚)
search设置或者返回从问号(?)开始的URL(查询部分)

4. 将数字转化为布尔型

!!9; //true
!!0; //false
!!-1; //true

5. 将一个字符串转化为数字,将数字转化为字符串

//将一个字符串转化为数字
Number('123');
parseInt('123');
parseFloat('123.30');

//将数字转化为字符串
123+'';
String(123);

6. postison的几种属性
absolute
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed
生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative
生成相对定位的元素,相对于其正常位置进行定位。
因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static
默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

( 本篇完 )