Показать сообщение отдельно
  #2 (permalink)  
Старый 05.11.2016, 22:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

"defineProperty", он декларирует свойство, а не устанавливает флаги:
Object.defineProperty(window, "deck", {
    writable: false,
    configurable: false,
    value: (function(){
        var massOfCards = [];
     
            // здесь заполняем массив
     
        return massOfCards;
    })()
});
Если пользуетесь современным javascript, то можно и так:
const deck = (function(){
    var massOfCards = [];
 
        // здесь заполняем массив
 
    return massOfCards; //Ошибка!
})();


Только одна мелочь: содержимое массива всё равно вы сможете менять, защищаете от перезаписи вы только саму переменную.
__________________
29375, 35

Последний раз редактировалось Aetae, 05.11.2016 в 22:52.
Ответить с цитированием