Уточнить одну обзор JavaScript, касающуюся страницы 199 о «поддерживаемом JavaScript Николаса».

StackOverflow https://stackoverflow.com/questions/20353171

  •  25-08-2022
  •  | 
  •  

Вопрос

В Приложении A, стр. 199, при обсуждении «Использовать строгое», оно выглядит так:

Если вы хотите строгого режима, чтобы применить к функциям Mulitple без необходимости писать «Используйте строгие» несколько раз, используйте немедленную функцию.

//good
(function() {
    "use strict";

    function doSomething() {
        // code
    }

    function doSomethingElse() {
        // code
    }

}());

Мой вопрос: если это то, на что выглядит вся анонлимная функция, то, вероятно, нет никакого эффекта (ко всему) немедленному ее призыву? Поскольку только две функции объявляются в рамках анонимной функции, но они не вызываются изнутри (поэтому две функции не могут сделать какие -либо побочные эффекты для остального мира) и не возвращаются на внешнюю часть, поэтому их ссылки потеряны.

Возможно, я просто хочу подтвердить, что фрагмент кода предназначен только для того, чтобы показать использование «использования строгих», поэтому он просто пропустил призывы или возврата этих двух функций?

Спасибо,

/Брюин

Это было полезно?

Решение 2

Я думаю, что ты прав. Этот пример не является полным, потому что он никогда не будет вызывать функции, определенные в нем. Пример просто предназначен для иллюстрации того, как применять «использовать строгое» для определенного набора функций. Если вы хотите немного расширить его, чтобы функции были экспортированы, вы могли бы сделать что -то вроде этого:

var myModule = (function() {
    "use strict";

    function doSomething() {
        // code
    }

    function doSomethingElse() {
        // code
    }

    return {
        doSomething: doSomething,
        doSomethingElse: doSomethingElse
    };

}());

myModule.doSomething();
myModule.doSomethingElse();

Другие советы

Идея заключается в том, что IIFE заключает все вашего кода, а не только эти функции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top