您的位置:首页 > Web前端 > JavaScript

JavaScript高级函数

2016-06-30 00:29 387 查看
一、JavaScript惰性函数
function createXHR(){
var xhr = null;
try{
//FireFox,Opera 8.0+,Safari,IE7+
xhr = new XMLHttpRequest();
}catch(e){
//Internet Explorer
try{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xhr = new ActiveXObject("MicroSoft.XMLHTTP");
}catch(e){
xhr = null;
}
}
}
return xhr;
}

//function handleErr(err){
//	var errXHR = err;
//
//}
/*惰性函数*/
//第二次生效
function createXHR(){
var xhr = null;
if(typeof XMLHttpRequest != 'undefined'){
xhr = new XMLHttpRequest();
createXHR = function(){
return new XMLHttpRequest();
}
}else{
try{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
createXHR = function(){
return new ActiveXObject("Msxml2.XMLHTTP");
}
}catch(e){
try{
xhr = new ActiveXObject("MicroSoft.XMLHTTP");
createXHR = function(){
return new ActiveXObject("MicroSoft.XMLHTTP");
}
}catch(e){
createXHR() = function(){
return null;
}
}
}
}
return xhr;
}


二、函数科里化

function curry(fn){
var args = Array.prototype.slice.call(arguments,1);
return function(){
var innerArgs = Array.prototype.slice.call(arguments);
var finalArgs = args.concat(innerArgs);
console.log(finalArgs);
return fn.apply(this,finalArgs);
}
}
function add(num1,num2,num3){
return num1+num2+num3;
}
var t = curry(add,50)(1,2);
alert(t);


三、级联函数

function classA(){
this.face = "";
this.mouse = "";
this.leg = "";
}

classA.prototype = {
setFace: function(){
this.face = "红扑扑";
}
setMouse: function(){
this.mouse = "大嘴";
}
setLeg: function(){
this.leg = "长腿欧巴";
}
};

var person = new classA();
person.setFace();
person.setMouse();
person.setLeg();
console.log(person);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java Script 高级函数