⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 func.js

📁 一个简单的AJAX图书展示平台
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.lang.func");dojo.require("dojo.lang.common");/** * Runs a function in a given scope (thisObject), can * also be used to preserve scope. * * hitch(foo, "bar"); // runs foo.bar() in the scope of foo * hitch(foo, myFunction); // runs myFunction in the scope of foo */dojo.lang.hitch = function(thisObject, method) {	if(dojo.lang.isString(method)) {		var fcn = thisObject[method];	} else {		var fcn = method;	}	return function() {		return fcn.apply(thisObject, arguments);	}}dojo.lang.anonCtr = 0;dojo.lang.anon = {};dojo.lang.nameAnonFunc = function(anonFuncPtr, namespaceObj, searchForNames){	var nso = (namespaceObj || dojo.lang.anon);	if( (searchForNames) ||		((dj_global["djConfig"])&&(djConfig["slowAnonFuncLookups"] == true)) ){		for(var x in nso){			if(nso[x] === anonFuncPtr){				return x;			}		}	}	var ret = "__"+dojo.lang.anonCtr++;	while(typeof nso[ret] != "undefined"){		ret = "__"+dojo.lang.anonCtr++;	}	nso[ret] = anonFuncPtr;	return ret;}dojo.lang.forward = function(funcName){	// Returns a function that forwards a method call to this.func(...)	return function(){		return this[funcName].apply(this, arguments);	};}dojo.lang.curry = function(ns, func /* args ... */){	var outerArgs = [];	ns = ns||dj_global;	if(dojo.lang.isString(func)){		func = ns[func];	}	for(var x=2; x<arguments.length; x++){		outerArgs.push(arguments[x]);	}	// since the event system replaces the original function with a new	// join-point runner with an arity of 0, we check to see if it's left us	// any clues about the original arity in lieu of the function's actual	// length property	var ecount = (func["__preJoinArity"]||func.length) - outerArgs.length;	// borrowed from svend tofte	function gather(nextArgs, innerArgs, expected){		var texpected = expected;		var totalArgs = innerArgs.slice(0); // copy		for(var x=0; x<nextArgs.length; x++){			totalArgs.push(nextArgs[x]);		}		// check the list of provided nextArgs to see if it, plus the		// number of innerArgs already supplied, meets the total		// expected.		expected = expected-nextArgs.length;		if(expected<=0){			var res = func.apply(ns, totalArgs);			expected = texpected;			return res;		}else{			return function(){				return gather(arguments,// check to see if we've been run										// with enough args							totalArgs,	// a copy							expected);	// how many more do we need to run?;			}		}	}	return gather([], outerArgs, ecount);}dojo.lang.curryArguments = function(ns, func, args, offset){	var targs = [];	var x = offset||0;	for(x=offset; x<args.length; x++){		targs.push(args[x]); // ensure that it's an arr	}	return dojo.lang.curry.apply(dojo.lang, [ns, func].concat(targs));}dojo.lang.tryThese = function(){	for(var x=0; x<arguments.length; x++){		try{			if(typeof arguments[x] == "function"){				var ret = (arguments[x]());				if(ret){					return ret;				}			}		}catch(e){			dojo.debug(e);		}	}}dojo.lang.delayThese = function(farr, cb, delay, onend){	/**	 * alternate: (array funcArray, function callback, function onend)	 * alternate: (array funcArray, function callback)	 * alternate: (array funcArray)	 */	if(!farr.length){ 		if(typeof onend == "function"){			onend();		}		return;	}	if((typeof delay == "undefined")&&(typeof cb == "number")){		delay = cb;		cb = function(){};	}else if(!cb){		cb = function(){};		if(!delay){ delay = 0; }	}	setTimeout(function(){		(farr.shift())();		cb();		dojo.lang.delayThese(farr, cb, delay, onend);	}, delay);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -