Как правильно создать зависимости между целями в CMake?

foo.bar здесь анонимная функция.

Это может иметь смысл, если вы разделите его на разные строки:

foo = {
    bar: function() {
        return this;
    }
}

Итак, когда вы вызываете foo.bar, вы получаете function() { return this; }. В строке 2 вы вызываете эту функцию напрямую (foo.bar()), поэтому она возвращает this, экземпляр объекта (foo).

В третьей строке вы получаете тот же результат, потому что вы не только запрашиваете анонимную функцию, но также выполняете эту функцию:

(foo.bar); // (function() { return this; }); A reference to the function
(foo.bar)(); // (function() { return this; })(); Actually calling the function

Поскольку в последнем случае вы выполняете функцию, как вы это делали в строке 2 результат тот же (foo).

В строках 4 и 5, однако, как сказал Берги, операторы, которые вы используете, разыгрывают их из функции, что оставляет вас с Window, а не foo.

30
задан Peter Mortensen 3 September 2018 в 11:33
поделиться