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

前端面试大全(五)

2017-05-23 13:15 323 查看


1.javascript的typeof返回哪些数据类型

string Object/null number function boolean underfind

2.例举3种强制类型转换和2种隐式类型转换?

强制(parseInt,parseFloat,number)

隐式(== === + * / % ++ --)

3.split() join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

4.数组方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部删除

Unshift()头部添加 shift()头部删除

5.事件绑定和普通事件有什么区别

区别就是普通事件只支持单个事件,而事件绑定可以添加多个事件,就这么简单。

6.IE和DOM事件流的区别

1.执行顺序不一样、

2.参数不一样

3.事件加不加on

4.this指向问题

7.IE和标准下有哪些兼容性的写法

Var ev = ev || window.event//获取event对象

document.documentElement.clientWidth || document.body.clientWidth//浏览器窗口的大小

Var target = ev.srcElement||ev.target//获取事件源

8.ajax请求的时候get 和post方式的区别

一个在url后面 一个放在虚拟载体里面

有大小限制

安全问题

应用不同 一个是论坛等只需要请求的,一个是类似修改密码的

9.call和apply的区别

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax请求时,如何解析json数据

使用eval parse 鉴于安全性考虑 使用parse更靠谱

12.写一个获取非行间样式的函数

function getStyle(obj,attr,value){

if(!value){

if(obj.currentStyle){

return obj.currentStyle(attr)

}else{

obj.getComputedStyle(attr,false)

}

}else{

obj.style[attr]=value

}

}

13.事件委托是什么

让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。

IE 5.5: div -> body -> document

IE 6.0: div -> body -> html -> document

Mozilla 1.0: div -> body -> html -> document -> window

(2)捕获型事件(event capturing):

事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,

不过必须由开发人员特别指定)。

(3)DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,

但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,

从document对象开始,也在document对象结束。

14.闭包是什么,有什么特性,对页面有什么影响

闭包就是能够读取其函数内部变量的函数。

官方解释是一个拥有许多变量和绑定了这些变量的环境的表达式

闭包的实质是一个函数,是一个用于返回局部变量值的函数,

因为在全局中,受JavaScript链式作用域结构的影响,父级变量中无法访问到子级的变量值,

为了解决这个问题,才使用闭包这个概念。由于闭包时,变量的值都保存到内存中,

会导致页面加载时内存消耗很大,IE会导致内在泄露,因此尽量少用或用时要及时删除变量。

15.如何阻止事件冒泡和默认事件

function stopBubble(e) {

// 如果提供了事件对象,则这是一个非IE浏览器

if ( e && e.stopPropagation ) {

// 因此它支持W3C的stopPropagation()方法

e.stopPropagation();

} else {

// 否则,我们需要使用IE的方式来取消事件冒泡

window.event.cancelBubble = true;

}

}

16.添加 删除 替换 插入到某个接点的方法

obj.appendChidl()

obj.innersetBefore

obj.replaceChild

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