Имеет смысл объявить все переменные в верхней части области видимости, то есть в начале функции или в начале глобального кода.Я согласен с этим.
Что касается предоставления начальных значений во время декларации, я принимаю это как нечто большее.В общем, - это хороший план, и, конечно, он работает для простых значений, но иногда начальное значение не известно до тех пор, пока не будут выполнены более сложные вычисления - в этом случае я бы не предоставил значение по умолчанию, которое никогда не используетсяпросто ради обеспечения некоторой ценности.И иногда это становится слишком беспорядочным.
Кроме того, я бы не стал давать переменным индекса цикла начальное значение во время объявления - для меня намного яснее присвоить значение в начале цикла.
Как вы уже указали, если вам нужно обрабатывать исключения и т. Д., Вам нужно будет сделать это позже и в функции.
Просто используйте здравый смысл: если у вас естьмножество переменных, которые вы можете обнаружить, что ваш оператор var
становится немного нечитаемым, поэтому вы можете перенести часть инициализации на более позднюю функцию.
Для меня ваш пример кода в порядке, но если вам нужнодобавив к нему гораздо больше, было бы немного трудно читать, потому что с таким большим количеством кода в плотном блоке я не могу выбрать имена переменных так же легко, но - и это, очевидно, дело вкуса - вы можете добавитьнекоторые пробелы:
var html = '{purchaseQty}<br>FR: {fromLoc}'
,tpl = new Ext.XTemplate(html)
,srcReqLoc = record.get('SRC_REQUEST_LOC').trim()
,srcSupLoc = record.get('SRC_SUP_LOC').trim()
,fromLoc = srcReqLoc ? srcReqLoc : srcSupLoc
,tplCfg = {
purchaseQty: purchaseQty
,fromLoc: fromLoc
};
(Выровняйте знаки =
или сгруппируйте переменные, связанные с пустыми строками, или оба.)