您的位置:首页 > 职场人生

前端开发面试题收集 JS

2015-04-27 11:21 489 查看

前端开发面试题收集-JS篇


收集经典的前端开发面试题


setTimeout的时间定义为0有什么用?

javascript引擎是单线程处理任务的,它把任务放在队列中,不会同步执行,必须在完成一个任务后才开始另一个任务。

由于setTimeout可以把任务从某个队列中跳出成为新队列,因此能够得到期望的结果。

怎么理解this

this指向的总是调用函数的那个对象。

this一般情况下,是全局对象Global。

什么是闭包

闭包是一个概念,我的理解是函数里的函数,能够读取函数内部变量的函数。

就是将函数内部和函数外部连接起来的一座桥梁。

闭包是不被内存回收机制回收的。

“use strict”有什么作用?

严格模式会抛出更多错误,从而发现潜在问题。

会禁止某些不稳定的特性,例如去除with关键字,this不再默认指向全局等。

new操作符做了什么工作?

创建了一个空对象,并且this变量引用此对象,同时继承了该函数的原型。

属性和方法被加入到this引用的对象中。

新创建的对象由this引用,并且最后返回this。

延迟加载JS的方式有哪些?

defer和async

动态创建dom

原型继承的原理

当查找一个对象的属性时,javascript会向上遍历原型链,直到找到给定名称的属性为止。

什么是AJAX

AJAX是指一种创建交互式网页应用的开发技术。

AJAX可以在无需刷新页面的情况下与发起与后端的请求。

什么是跨域,如何做到?

基于安全考虑,浏览器只允许javascript访问相同域名下的文档。

解决跨域都需要服务端配合。

JSONP

创建一条script标签请求,并带上参数请求后端。

后端根据相应的参数包装一个带所需数据的JS函数返回给前端。

缺点是只能发出get请求,并难于确定请求是否成功。

web sockets

web sockets会发送一个http请求到后端,获取响应后协议会升级为 web socket协议,不受跨域限制。

缺点是只有现代浏览器支持。

CORS

后端在头信息中设置允许接收请求的域名即可。

缺点是只有现代浏览器支持。

javascript继承有哪些方式?

对象冒充

原型链

call

apply

cookie是什么?都有哪些属性?

cookie是浏览器提供的一种机制,保存在用户硬盘上,可以在客户端与服务端之间传送。

属性有:

expires 有效时间

path 能够读取cookie的顶级目录

domain 创建cookie所在网页所拥有的域名

secure 默认是false,如果为true,cookie的传输协议需要为https。

怎么添加、移除、移动、复制、创建和查找节点?

添加:

append

prepend

after

before

移除

remove

empty

替换

replaceWith

replaceAll

复制

clone
创建

creatElement

createTextNode
查找

getElementById

getElementsByTagName

getElementByName
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: