js函数的几种写法 闭包梗概

js函数的几种写法 闭包概要最常见的:function newClosure(someNum, someRef) {// Local variables that en

js函数的几种写法 闭包概要

最常见的:

function newClosure(someNum, someRef) { // Local variables that end up within closure var num = someNum; var anArray = [1,2,3]; var ref = someRef; return function(x) { num += x; anArray.push(num); alert('num: ' + num + '\nanArray ' + anArray.toString() + '\nref.someVar ' + ref.someVar); }}closure1 = newClosure(40, {someVar : 'closure 1'}); closure1(5);closure2 = newClosure(1000, {someVar : 'closure 2'});closure2(-10);

?

小结


读一些说明要比理解上面的例子难得多。我对于闭包的说明以及stack-frame等等在技术上可能不正确 --- 但是它们的确有助于理解