前端开发面试题总结

JS部分:

1、JS中对象属性的访问方法有哪些,各有什么区别?

一种是中括号表示法:object[“property”],另外一种是点号表示发:object.property,它们的区别在于当我们需要访问的属性名是不确定的,就必须要用中括号去访问。

2、var o = {a:1,b:2,c:3}; 和 var arr = [1,2,3]; 分别调用toString();方法,得到的结果各是什么?

o.toSting();的结果是[object object],arr.toString();的结果是1,2,3。

3、操作数组有哪些方法,各起到什么作用?

sort(),排序;

reverse(),将数组反转;

join(),将数组连接成字符串;

push(),追加新元素到数组的末尾,返回的是添加元素后的新数组;

unshift(),追加新元素到数组的开头,返回的是添加元素后的新数组;

pop(),移除数组最后一个元素,返回的是被移除的元素;

shift(),移除数组第一个元素,返回的是被移除的元素;

slice(),截取数组中指定位置的元素,返回的是截取到的元素组成的数组,原数组中被截取的元素不会被移除

splice(),截取数组中指定位置的元素,返回的是截取到的元素组成的数组,原数组中被截取的元素会被移除

4、怎么获取一个函数的参数个数?

function.length;即可获取到。

5、有两个变量a和b,不使用if、?、switch或其他判断语句,找出两个数中间比较大的。
Math.max(a,b);

6、常见的伪数组有哪些,伪数组如何转换成真数组?

函数参数、dom集合、元素的classList都是伪数组,通过Array.prototype.slice.call(fakeArr); 可以实现转换。

7、event.target和event.currentTarget的区别?

event.target 表示触发事件的DOM对象,event.currentTarget 表示绑定事件的DOM对象。

8、构造函数中使用this定义属性和使用prototype定义属性的区别。

① 使用this定义的属性会在每一个实例中都会保留一份,而prototype定义的属性只有公共使用一个。

② this定义的属性优先级较高,prototype定义的属性优先级较低。

9、输入m, n参数,不使用循环返回m长度值为n的数组。

function fillArray(m, n) {
    let arr = new Array(m);
    return arr.fill(n, 0, m);
}

CSS部分:

1、如何使得textarea的placeholder或value的内容换行?

使用&#10 将换行部分隔开

打赏支持

如果文章对你有帮助就打个赏吧~

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

评论

还没有任何评论,你来说两句吧

发表评论

Powered By Yuuk