結構カジュアルかつ無意識にクロージャを使っていたのか。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Listing 5.1</title> <script type="text/javascript" src="../scripts/assert.js"></script> <link href="../styles/assert.css" rel="stylesheet" type="text/css"> </head> <body> <script type="text/javascript"> var outerValue = 'ninja'; //#1 値をグローバルスコープで定義 function outerFunction() { assert(outerValue == "ninja","ninjaが見える。"); //#2 関数をグローバルスコープで宣言 } outerFunction(); //#3 この関数からはouterValue変数が見える </script> </body> </html>