1.IE和标准DOM事件流的区别javascript
1、IE的事件流叫事件冒泡,事件开始时由最具体的元素接受,而后逐级向上传播到document。java
DOM的事件流包括三个阶段,事件捕获阶段、处于目标阶段、事件冒泡阶段,实际的目标在捕获阶段不会接收到事件。ajax
2、IE中运行下列两个方法时的this指的是window,而DOM中this指的是当前元素。json
3、IE指定和删除事件处理程序的方法为attachEvent()和detachEvent(),DOM中为addEventListener()和removeEventListener()。数组
4、IE中这两个方法的参数都要加on,好比onclick。而DOM中不用加on,为click。
浏览器
2.IE和标准下有哪些兼容性的写法:安全
var event =event || window.event;服务器
var target = event.target || event.srcElement;闭包
阻止默认行为: event.preventDefault || event.returnValue=false;app
阻止冒泡行为: event.stopPropagation || event.cancelBubble=true;
3.ajax请求的时候get和post方式的区别:
1、get方式用户能在URL中看到提交的数据,post不能看到。
2、对于get方式服务器端使用Request.QueryString来获取变量的值,对于post方法服务器端使用Request.form来获取变量的值
3、get传输数据量小,不大于2kb,post无限制
4、get安全性差、速度快,post安全性高、速度慢。
4.call和apply的区别:
apply的参数必须是数组或者Arguments对象。
5.ajax请求时,如何解释json数据
可使用eval(),可是不推荐,有严重的性能问题和安全性问题。
可使用JSON.parse(),推荐。
6.B继承A的方法:
//寄生组合式继承
function inherit(subType,superType){
var prototype = Object(superType.prototype)//建立对象
prototype.construcor =subType;//加强对象
subType.prototype=prototype;//指定对象
}
function SuperType(name){
}
function SubType(name,age){
SuperType.call(this,name);
this.age=age;
}
inherit(SubType,SuperType);
//组合继承
subType.prototype=new superType();
function subType (argument) {
superType.call(this,argument);
}
7.获取非行间样式的函数
// 获取非行间样式
function getStyle (obj,attr) {
if (obj.currentStyle) {
return obj.currentStyle[attr];//兼容IE浏览器
}else{
return obj.getComputedStyle(obj,null)[attr];//其余浏览器 obj后面的参数是伪类,好比:after,不须要就为null
}
}
8.事件委托是什么
利用事件冒泡,将自身事件交给父级元素来处理,这样能够提升页面性能。
好比将ul中li的onclick事件交个ul来处理。
9.闭包是什么,有什么特性,对页面有什么影响
闭包是有权访问另外一个函数做用域中的变量的函数。建立闭包的常见方式,是在一个函数内部建立另外一个函数。
闭包特性:function a(){
return function b(){}
}
a中有一个b函数。a返回b函数。这就是闭包。
函数b的存在会让,a函数执行而且返回b后,不会被js的垃圾回收机制所回收,由于b依赖a中的变量。
对页面影响:闭包函数比通常函数会占用更多内存,过分使用闭包可能会让内存占用过多。
10.添加 删除 替换 插入到某个接点的方法
11.jsonp和ajax的异同:
jsonp和ajax都是请求一个URL,而后把服务器返回的数据进行处理。
不一样:ajax的核心是经过XMLHttPRequest获取非本页的内容,而jsonp是经过动态的建立script标签来调用服务器提供的js脚本
12.javascript的本地对象,内置对象和宿主对象
本地对象包括:number 、string、boolean、function、object、error、regexp、array等
内置对象:global、math
宿主对象:其他的全部包括document、window