var outer = 'outer'; var copy; function outerFn(){ var inner = 'inner'; function innerFn(param){ console.log(param); } copy = innerFn; } outerFn(); copy('copy');
在全局中定義變量,在函數中賦值函數,須要將函數運行以後,被賦值函數纔能有用。javascript
上面程序輸出,copy,但若是把outerFn();去掉就會報錯:Uncaught TypeError: copy is not a function,由於這個函數尚未被定義,仍是undefined;java