Зависит от того, как вы оцениваете «ценность» в этом вопросе.
Кэширование свойств должно иметь некоторый теоретический прирост производительности при повторном использовании одного и того же свойства, но я сомневаюсь, что разница будет заметна для пользователя, если вы не выполняете много тысяч раз.
Кэширование свойств может сделать ваш код более привлекательным, например, если вы ссылаетесь на одно и то же свойство более чем пару раз в определенном блоке кода, вы можете кэшировать его в начале - особенно, если вы вложили объекты, подобные этому:
jsonObject.nestedObject.doSomething();
jsonObject.nestedObject.doAnotherThing();
alert(jsonObject.nestedObject.someProperty);
//compared with:
var nObj = jsonObject.nestedObject;
nObj.doSomething();
nObj.doAnotherThing();
alert(nObj);
Я считаю, что последнее легче набирать и легче читать (по крайней мере, было бы легче читать, если бы переменная nObj
имела более осмысленное имя, но, очевидно, это просто общий пример).
Однако я бы не кэшировал свойства в глобальных переменных для использования во всем вашем коде. Сохранение глобальных значений до минимума почти всегда является хорошей идеей по нескольким причинам, в том числе во избежание коллизий при именовании с включенными библиотеками и во избежание трудно диагностируемых ошибок, когда несколько функций обновляют одну и ту же переменную. Просто кешируйте внутри отдельных функций, которые часто используют определенное свойство, и помните, что JS имеет function scope, а не block scope. (Если конкретная функция часто ссылается на определенное свойство, вы также можете рассмотреть возможность сделать это свойство аргументом функции для того же эффекта с (возможно) аккуратным кодом.)
P.S. В JavaScript нет объектов JSON, просто есть объекты.