Объединение функции
В библиотеке есть функция 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, время: 03:44. |