2019-07-25面试题(第十七天 ❤ )
❤ 1. 怎样添加、移除、复制、创建、查找节点 ?
(1)创建新节点
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
(2)添加、移除、替换、插入
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子节点前插入一个新的子节点
(3)查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值(IE容错能力较强,会得到一个数组,其中包括id等于name值的)
getElementById() //通过元素Id,唯一性
❤ 2. 在JavaScript中什么是伪数组?如何将伪数组转化为标准数组?
伪数组:
(1)具有length属性
(2)按索引方式存储数据
(3)不具有数组的push,pop等方法
伪数组转化为标准数组:
Arry.prototype.slice.call(伪数组)
eg:Array.prototype.slice.call(arguments) 将arguments转化为真正数组
❤ 3. jQuery的事件委托on、live、delegate之间有什么区别?
on 事件委托对象选填,如果不填,即给对象自身注册事件,填了作用和delegate一致。
live 把事件委托交给了document(根节点),document 向下去寻找符合条件的元素(), 不用等待document加载结束也可以生效。
delegate 可指定事件委托对象,相比于live性能更优,直接锁定指定选择器;
❤ 4.
http状态码有哪些?
200 (OK) : 服务器成功处理了请求
304 (Not Modified):服务端的资源与客户端上一次请求的一致,不需要重新传输,客户端使用本地缓存的即可
400 (Bad Request) :用于告诉客户端它发送了一个错误的请求
404 (Not Found) : 未找到资源
405 (Method Not Allowed) : 客户端请求中的方法被禁止
406 (Not Acceptable) : 服务器无法根据客户端请求的内容特性完成请求
407 (Proxy Authentication Required) : 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408 (Request Time-out) : 服务器等待客户端发送的请求时间过长,超时
409 (Conflict) : 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突
500 (Internal Server Error) :服务器内部出现了错误
501 (Internal Server Error) : 服务器遇到一个错误,使其无法对请求提供服务
❤ 5. 后台管理系统权限你是如何实现的?
见 https://www.cnblogs.com/qixidi/p/10137973.html
路由跳转流程图: