защищенные свойства и методы в объектах
Привет.
Есть возможность в яваскрипте запретить переопределение свойств и методов в объекте?:) |
bot87,
Cделать его имя случайным |
так ?
var obj={} var names='olive'+Math.random() obj[names]='boo'; alert(obj.olive) Интересно.Может есть еще способа? Спасибо |
bot87,
Ваще сделать так: function Mathwords(){str='1234567890abcdefghijklmnopqrstuvwxyz-_ABCDEFGHIJKLMNOPQRSTUVWXYZ'; word=str.substring(s=Math.round(9+26*Math.random()),s+2);cycl=Math.round(10*Math.random()); for(i=0; i<cycl; i++){word+=str.substring(s=Math.round(63*Math.random()),s+1)}; alert(word) return eval(word+'={lastname: "Иванов",firstname: "Василий",middlename: "Петрович"}') } B=Mathwords(); alert(B.lastname+', '+B.firstname+', '+B.middlename) Т.е есть только ссылка на объект, сам исходный объект сложно отыскать |
Установить атрибут writable (при необходимости ещё и configurable) свойства на false.
"use strict"; var obj={}; Object.defineProperty(obj, "prop", { value: 42, enumerable: true }); obj.prop=43; |
oneguy жаль что IE создали ...
|
bot87,
Запустить из анонимной функции, все события отслеживать внутри неё |
Object.defineProperty в IE<9, по-видимому нет. В IE 9, по-видимому, работает, только при записи в read-only свойство не выдаёт ошибки, но значение остаётся прежним, то есть работает так, как в нестрогом режиме.
|
Цитата:
|
жаль, что мой уровень не позволяет понимать шутки по javascript
|
Часовой пояс GMT +3, время: 00:41. |