javascriptµÄcurryingº¯Êý
curryingº¯ÊýÊÇÒ»ÖÖ·µ»Øº¯ÊýµÄº¯Êý£¬ÊDZհü×îΰ´óµÄÓ¦ÓÃÖ®Ò»¡£Óйرհü¸üÏêϸµÄ¶¨Òå¿É²Î¼ûÕâÀïÓëÕâÀï¡£ÈçÏÂcurryingº¯ÊýµÄÒ»ÖÖ¶¨Òå¡£
×îÔçÆÚµÄcurryº¯ÊýÓеã¶à̬µÄÒâ棬¾ÍÊǸù¾Ýº¯Êý²ÎÊýÔÚÄÚ²¿Ñ¡Ó÷ÖÖ§£º
//http://www.openlaszlo.org/pipermail/laszlo-user/2005-March/000350.html
// ¡ï¡ïOn 8 Mar 2005, at 00:06, Steve Albin wrote:
function add(a, b) {
if (arguments.length < 1) {
return add;
} else if (arguments.length < 2) {
return function(c) { return a + c }
} else {
return a + b;
}
}
var myadd = add( 2 );
var total = myadd(3);
ÈÕ±¾µÄÒ»¸öÏÈÐÐÕß¿ÉÄÜÔÚδ¸ãÇåargumentsÒ²ÄÜÓÃArrayµÄÔÉú·½·¨×ª»»ÎªÊý×éµÄʱºò£¬Ó÷dz£¸´ÔÓµÄÕýÔòÓëeval¸ã³öÒ»¸ö¸ü½Ó½üÏÖ´úcurryingÒâζµÄº¯Êý¡£
function curry(fun) {
if (typeof fun != 'function') {
throw new Error("The argument must be a function.");
}
if (fun.arity == 0) {
throw new Error("The function must have more than one argument.");
}
var funText = fun.toString();
var args = /function .*\((.*)\)(.*)/.exec(funText)[1].split(', ');
var firstArg = args.shift();
var restArgs = args.join(', ');
var body = funText.replace(/function .*\(.*\) /, "");
var curriedText =
"function (" + firstArg + ") {" +
"return function (" + restArgs + ")" + body +
"}";
eval("var curried =" + curriedText);
return curried;
}
function curry(fun) {
if (typeof fun != 'function') {
throw new Error("The argument must be a function.");
}
if (fun.arity == 0) {
throw new Error("The function must have more than one argument.");
}
var funText = fun.toString();
var args = /function .*\((.*)\)(.*)/.exec(funText)[1].split(', ');
var firstArg = args.shift();
var restArgs = args.join(', ');
var body = funText.r
Ïà¹ØÎĵµ£º
function AddDropDownList(id,fatherCtl)
{
if(!document.getElementById(id))
{
var ddl = document.createElement('select');
ddl.s ......
1. oncontextmenu="window.event.returnValue=false" ½«³¹µ×ÆÁ±ÎÊó±êÓÒ¼ü
<table border oncontextmenu=return(false)><td>no</table> ¿ÉÓÃÓÚTable
2. <body onselectstart="return false"> È¡Ïûѡȡ¡¢·ÀÖ¹¸´ÖÆ
3. onpaste="return false" ²»×¼Õ³Ìù
4. oncopy="return false;" oncut=" ......
ÎÒÃÇÀ´Ä£·ÂÒ»ÏÂ×îOOµÄmootoolsµÄ¼Ì³Ð»úÖÆ¡£ËüµÄÀà¶¼ÓÐÒ»¸ö½Ð×öinitialize¹¹Ôì·½·¨£¬ÕâÓëJavaµÄÀà¶¼ÓÐÒ»¸öÓëÀàÃûͬÃûµÄ¹¹Ôì·½·¨Ò»ÑùµÄµÀÀí¡£Ö»²»¹ý£¬ÕâЩ½Ðinitialize»òinit¶¼ÊÇ½è¼ø×ÔPrototype£¬¶øPrototypeÄǰïÈËÊÇRuby³öÉí¡£ÎªÁËÇø±ðmootoolsÄÇÖÖÎÛȾÔÉú·½·¨µÄ×ö·¨£¬ÎÒ°ÑÀàµÄ¹¹ÔìÆ÷ÃüÃûΪvariant£¬²¢ÇÒ½ûÖ¹²é¿´¹¹Ô ......
<HTML>
<HEAD><TITLE>WMI Scripting HTML</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, p ......