1

この質問をするのはばかげていると思います。しかし、以下の変数スコープに厄介な問題がありaaaます。test最後に出力してはいけませんか?しかし、そうではありませんでした。aaa関数内で使用するのに何を間違えましたか?

var casper = require('casper').create();

var aaa = 'test';
casper.start('http://google.com/', function() {
    this.echo("I'm in");
});

casper.run(function(aaa) {
  this.echo(aaa);
  this.exit();
});
4

1 に答える 1

4

エコーアウトすると、関数の最初のパラメーターで定義されているとおりaaaに使用されます。aaa最初のパラメーターが呼び出された場合など、外部クロージャーで定義されたbbbものを使用するため、期待どおりの出力が表示されます。aaa

于 2012-11-24T08:15:14.523 に答える