1.怎样添加、移除、复制、创建、查找节点
2.在JavaScript中什么是伪数组?如何将伪数组转化为标准数组
3.jQuery的事件委托on、live、delegate之间有什么区别
4描述一次完整的http请求过程(输入url敲回车发生了什么)
5.http状态码有哪些
6.自我介绍
7.项目介绍
8.后台管理系统权限你是如何实现的?
9.为什么要离职?
10.你要求15k,我们公司给不了你那么多,你该怎么答?
1.怎样添加、移除、复制、创建、查找节点
(1)DOM-创建新节点
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
(2)DOM-添加,替换,移除,插入
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子节点前插入一个新的子节点
(3)DOM-查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的name属性的值
getElementById() //通过元素Id进行查找
2.在JavaScript中什么是伪数组?如何将伪数组转化为标准数组?
js中无法直接调用数组方法和length属性的数组,仍可以通过数组遍历的方法来遍历的数组叫做伪数组(arguments||document.getElements..获取到的内容)
(1)通过遍历将伪数组的元素放到一个新的数组中
(2)通过call改变数组slice方法里的this指向
3.jQuery的事件委托on、live、delegate之间有什么区别?
(1).on 使用.on()方法,事件只会绑定到$()函数的选择符表达式匹配的元素上
.on( events [, selector ] [, data ], handler(eventObject) )
(2).live .live()方法会把click事件绑定到$(document)对象,而且只需要给$(document)绑定一次,然后就能够处理后续动态加载的单元格的单击事件
$("#info_table td").live("click",function(){/*显示更多信息*/})
.live的缺点: 1. $()函数会找到当前页面中的所有td元素并创建jQuery对象,但在确认事件目标时却不用这个td元素集合,而是使用选择符表达式与event.target或其祖先元素进行比较,因而生成这个jQuery对象会造成不必要的开销;
2.默认把事件绑定到$(document)元素,如果DOM嵌套结构很深,事件冒泡通过大量祖先元素会导致性能损失;
3.只能放在直接选择的元素后面,不能在连缀的DOM遍历方法后面使用,即$("#infotable td").live...可以,但$("#infotable").find("td").live...不行;
4.收集td元素并创建jQuery对象,但实际操作的却是$(document)对象
(3).delegate 使用.delegate()有如下优点:
1. 直接将目标元素选择符("td")、事件("click")及处理程序与“受拖方”$("#info_table")绑定(语义明确)
2.支持在连缀的DOM遍历方法后面调用
$("#info_table").delegate("td","click",function(){/*显示更多信息*/})
4.描述一次完整的http请求过程(输入url敲回车发生了什么)
一次完整的HTTP请求所经历的7个步骤
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:
1. 建立TCP连接:
在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。
2. Web浏览器向Web服务器发送请求命令:
一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET/sample/hello.jsp HTTP/1.1。
3. Web浏览器发送请求头信息 :
浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
4. Web服务器应答 :
客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1 200 OK ,应答的第一部分是协议的版本号和应答状态码。
5. Web服务器发送应答头信息:
正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。
6. Web服务器向浏览器发送数据:
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
7. Web服务器关闭TCP连接 :
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive;TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
5.http状态码有哪些 ?
1**(信息类):表示接收到请求并且继续处理
100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
2**(响应成功):表示动作被成功接收、理解和接受
200 OK 正常返回信息
201 Created 请求成功并且服务器创建了新的资源
202 Accepted 服务器已接受请求,但尚未处理
3**(重定向类):为了完成指定的动作,必须接受进一步处理
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。
303 See Other 临时性重定向,且总是使用 GET 请求新的 URI。
304 Not Modified 自从上次请求后,请求的网页未修改过。
4**(客户端错误类):请求包含错误语法或不能正确执行
400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源。
5**(服务端错误类):服务器不能正确执行一个正确的请求
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。
6.自我介绍
7.项目介绍
8.后台管理系统权限你是如何实现的?
1.定义静态路由表(无需权限的使用)
2.定义权限路由表(和后台返回的权限进行匹配用)
开始登陆判断登陆是否成功(成功将返回的登录token值存储到本地里,用导航守卫进行判断本地是否存在返回的token值)没有成功继续登录。成功时
9.为什么要离职?
10.你要求15k,我们公司给不了你那么多,你该怎么答?