casper.then()和this.then()之间的区别

时间:2014-08-27 06:36:16

标签: javascript casperjs

then()函数是如何执行的?如果我通过引用this对象来调用它,它会有所不同吗?

我的意思是:

casper.then(function() {
        casper.then(function(){
            // stuff
            this.then(function() {
                // stuff2
            });
            casper.then();
        });
});

casper.then(function() {
        this.then(function(){
            casper.then();
            this.then();
            // stuff
        });
});

是否相同(执行顺序?)?它应该是,不是吗?

1 个答案:

答案 0 :(得分:0)

没有真正的区别。大多数时候它只是一个快捷方式(2个字符)。

每个回调都绑定到调用casper对象。 this本质上是本地范围,因此执行环境不需要在其他更高范围内搜索它。 casper引用在全局范围内定义,并且需要花费一点时间的搜索。 This是一个很好的写作范围。

您很少需要使用全局casper变量而不是thisHere就是一个例子。

注意:如果您处于this回调中的测试环境casper.test.begin,则会引用casper.test