Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2021, 20:29
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Объединение функции
В библиотеке есть функция indent, которая потом добавляется в объект. Упрощённо выглядит так:
function indent( element, isOutdent ) {
	return 'some code';
}
indent.disabled = function( option, styles ) {
	return styles.lists.length === 0;
};

А потом добавляется в объект:
var commands = Object.freeze( {
	indent: indent,
} )

И, как я понимаю, потом можно обращаться к функциям commands.indent и commands.indent.disabled

Возможно ли в JS indent.disabled = function( option, styles ) сразу определить внутри function indent( element, isOutdent )? Думается, здесь просто вопрос понимания синтаксиса...
Ответить с цитированием
  #2 (permalink)  
Старый 28.04.2021, 22:26
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Сообщение от Янковиц
Возможно ли в JS indent.disabled = function( option, styles ) сразу определить внутри function indent( element, isOutdent )
Сразу определить невозможно.
В JS все операторы выполняемые
Даже
var x;
это выполняемый оператор. Результатом его выполнения является заведение переменной х

Можно написать так

function indent(  ) {
	indent.disabled = function(  ) {
		alert ('indent.disabled')
	};
    return 'some code';
}

var commands = Object.freeze( {
    indent: indent,
} )

commands.indent()
commands.indent.disabled()


indent.disabled = function( ) {...
выполнится только когда будет вызвана функция indent
И каждый раз при вызове indent в indent.disabled будет записываться новая функция (хоть и точно такая же, как прошлый раз, но все равно новая, и браузеру каждый раз придется компилировать ее заново)

Оно надо?

Последний раз редактировалось voraa, 28.04.2021 в 22:42.
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2021, 09:06
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Спасибо за развёрнутый ответ
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли так использовать callback функции? Denwf Node.JS 2 14.03.2017 10:20
Изменение прототипа функции tsigel Общие вопросы Javascript 11 15.05.2014 01:03
Добавление функции внутрь другой функции Lion_astana jQuery 9 28.12.2013 14:33
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21