Объединение функции
В библиотеке есть функция 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 )? Думается, здесь просто вопрос понимания синтаксиса... |
Цитата:
В 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 будет записываться новая функция (хоть и точно такая же, как прошлый раз, но все равно новая, и браузеру каждый раз придется компилировать ее заново) Оно надо? |
Спасибо за развёрнутый ответ
|
Часовой пояс GMT +3, время: 22:05. |