1.margin外边距合并的问题
https://blog.csdn.net/david___/article/details/53940407
2.判断数组的方法
1⃣️Array.isArray()方法 Array.isArray([1,2,3]);// true
2⃣️instanceof [1,2,3] instanceof Array //true
3⃣️Object.prototype.toString.call(参数) 返回[object Array]
typeof Undefined //'undefined'
typeof Null //'object'
typeof Boolean //‘boolean’
typeof String //‘string’
typeof Symbol //‘symbol’
typeoffunction(){}==='function';
任何其他对象都是object
3.伪数组都有哪些,怎么转换成真正的数组
何为伪数组:元素无法调用数组方法,也无法使用length属性,但是可以使用数组的遍历方法(for循环配合数组下标)来遍历它们。
常见的伪数组:arguments参数,arguments是一个对象,而非一个数组。
调用document.getElementsByTagName、getElementsByClassName等各类获取元素的方法,返回的是一个NodeList(节点列表),也并不是一个真正的数组。
将伪数组转换成真正的数组:1.使用slice,基于当前项,创建一个新数组,并返回新数组。
Array.prototype.slice.call(content)
原理:
2.使用ES6的数组方法,Array.from()
function test(){
var arg = Array.from(arguments);
arg.push(5);
console.log(arg);//1,2,3,4,5
}
test(1,2,3,4);
4.js的监听函数?有哪些参数以及含义?哪些参数表达了JS的运行机制,js的运行机制有哪些?
element.addEventListener(event, function, useCapture)
event必须。字符串,指定事件名。
注意: 不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 "onclick"。
function必须。指定要事件触发时执行的函数。
当事件对象会作为第一个参数传入函数。 事件对象的类型取决于特定的事件。例如, "click" 事件属于 MouseEvent(鼠标事件) 对象。
useCapture可选。布尔值,指定事件是否在捕获或冒泡阶段执行。
可能值:
true - 事件句柄在捕获阶段执行
false- false- 默认。事件句柄在冒泡阶段执行
事件冒泡和捕获:https://www.cnblogs.com/qq9694526/p/5653728.html
5.AJAX的的工作机制,以及实现跨域的几种方式以及原理?
答:https://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html(AJAX的工作运行机制)
https://blog.csdn.net/xiaobianjava/article/details/53489576(解决跨域的几种方式)
6.是否改变原数组的常用方法
答:https://blog.csdn.net/cristina_song/article/details/77917404
7.服务器返回的状态码