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的内容换行?
使用

将换行部分隔开