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等等在技术上可能不正确 --- 但是它们的确有助于理解
