4
function Foo() {
    var that = this;
    that.bar = function() {}
    that.baz = function() {}

    (function() {
        that.baz();
    }());
}
new Foo;

Uncaught TypeError: Object #<Foo> has no method 'baz'

that.bar正常に動作します。存在しないのは最後の関数だけです。;関数定義の後にa を追加すると、bazすべてが修正されます。

除外すると混乱する可能性があることは知っていますが、関数の後;に置くべきではないことは確かだと思いました。;それを行う言語はありません。;関数の後を除外するbazと、これが壊れるのはなぜですか? ;関数定義の後に置く必要がありますか?

4

3 に答える 3