В You don't know JS type & grammar в конце главы 1 показан шаблон проектирования, называемый «инъекцией зависимостей», который, как я знаю, не является точкой этой главы, но я был смущен примером.Дизайн-шаблон в javascript
пример кода здесь:
function doSomethingCool(FeatureXYZ) {
var helper = FeatureXYZ ||
function() { /*.. default feature ..*/ };
var val = helper();
// ..
}
Так что я хочу, чтобы использовать эту функцию.
Поскольку я не знаю, существует ли FeatureXYZ, я не знаю, как его использовать. doSomethingCool() не будет использовать FeatureXYZ, а doSomethingCool (FeatureXYZ) выдаст ошибку, если не существует FeatureXYZ. Таким образом, функция может быть бессмысленной функцией.
может быть решением, но в моем случае использует ли dosomethingcool пера по умолчанию или featherxyz полностью должен зависеть от внешней стороны окружающей среды, а не функция пути была call.As мы не знаем, функциональность featherxyz, мы не можем использовать способ параметров по умолчанию (предположим, что мы загружаем файлы с файлами в наш проект и даже не знаем, выходит ли функцияxyxyz) – teek
Что ожидает результат, если 'FeatureXYZ' не существует? Должна ли быть вызвана функция по умолчанию или нет функции?То есть, какова логика, которую вы реализуете в отношении существования или отсутствия «FeatureXYZ»? – guest271314
функция по умолчанию, которая записывается внутри функции dosomethingcool. только featherxyz существует во внешней стороне функции dosomething, функция по умолчанию будет удалена. – teek