web前端笔试题/面试题小结(2)

//1、原生ajax
var xmlRequest = createXmlRequest();ajax

//每当 readyState 改变时,就会触发 onreadystatechange 事件。
xmlRequest.onreadystatechange = function() {服务器

/**
* readyState
* 0(未初始化)
* 1(初始化)
* 2(发送数据)
* 3(数据传送中)
* 4(完成)
* status
* 200 请求成功,有数据返回
* 204 请求成功,无数据返回
*
*
**/
if (xmlRequest.readyState == 4 && (xmlRequest.status == 200 ||  xmlRequest.status == 204)) {
console.log(xmlRequest.responseText)
}
}
*
* open(method,url,async)
*
* method:请求的类型;GET 或 POST
* url:文件在服务器上的位置
* async:true(异步)或 false(同步)
*
*
* send(string) 将请求发送到服务器
* string:仅用于POST请求
*
*
xmlRequest.open("POST", 'url', false);
xmlRequest.send(null);闭包


function createXmlRequest() {
var xmlRequest = null;
try {
xmlRequest = new XMLHttpRequest();app

} catch (e) {
try {
xmlRequest = new ActiveXObject("Msxml2.XMLHTTP"); //IE6;
} catch (e) {
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP"); //IE5
}
}
return xmlRequest;
}异步

//2、继承
var Fuite = function(name){
this.name = name || 'Fuite';
this.caneat = function(){
console.log(this.name+":YES ");
}
}async

var Apple = function(name){
//apply修改this的指向
Fuite.apply(this,[name]);
}
var temp = function(){函数

}
temp.prototype = Fuite.prototype;
Apple.prototype = new temp();

var apple1 = new Apple("tom");
apple1.caneat();//tom:YES
console.log(apple1 instanceof Apple);//true
console.log(apple1 instanceof Fuite);//trueui

//3、闭包this

/**
* 闭包就是有权访问另外一个函数做用域的变量的函数
*
* 闭包的优势:防止数据污染
*
*
* 闭包的缺点:容易形成内存泄漏
*
**/
function outer(){
var name = "one";
var fn = function(){
console.log("内部function");
}url

var inner = function(){ return name; } return inner; } var result = outer(); console.log(result);

相关文章
相关标签/搜索