функция внутри объекта (не работает в IE)
o = {a:7, get b() {return this.a+1; }, set c(x) {this.a = x/2}}; alert( o.b ) alert( o.c ) Я потерялся: Как добится подобного в IE? ( Mozilla работает идеально.) |
:write: И самый сок, что Mozilla при такой коде:
o = { 'a':7, 'b': function() { return this.a+1; } }; alert( o.b )благополучно вешается, а вот IE спокойно выдаёт "function() { return this.a+1; }" (хотя всё же от него требовалось это выполнить, а не строку выдавать!) И eval() тут тоже не помогает... :haha: В общем, занятно оказалось!.. |
o = { 'a': 7, 'b': function(){return this.a+1} }; alert( o.b() ) |
Яваскриптовых геттеров и сеттеров в IE до 8 версии нет.
Варианта обхода этого два:
Как-то так… |
Цитата:
|
2_ZoNT: Скобочки к функции оказались действительно не лишние. Ты отгадал! :victory:
2_subzey: Цитата:
o = {a:7, get b() {return this.a+1; }, set c(x) {this.a = x/2}}; alert( o.b() )Ослик (8-ая модель) всё равно упирается, пишет: Предполагается наличие знака ':' 2_Kolyaj: Вобще-то это я так неумело пытался получить доступ к элементу ассоциативного массива, реализованного и виде такого объекта. :) Как правильно в такой ситуации - до сих пор не знаю. IE - ожидаемо выдает значение элемента такого массива (даже если внутри функция), а вот (тор)Mozilla - сама вешается! o = {a:7, get b() {return this.a+1; }, set c(x) {this.a = x/2}}; alert( o.b() )Можно ли для Мозиллы что-то наподобие // alert( o.b.Value ) // или alert( value o.b ) // навеяно конструкцией: // alert( typeof o.b )сочинить? |
Ничего не вешается
o = { 'a':7, 'b': function() { return this.a+1; } }; alert( o.b ) |
И верно! Спасибо.
Моя ошибка оказалась в том, что тестировал (вернее проверял) полагаясь на HTMLPad 2010 (фирма Blumentals). Потому что вешать саму МОЗИЛЛу было жалко: открыто до 70-ти вкладок, а заново их открывать потом - целая морока. Там подобное наблюдается при повторном вызове режима просмотра того же кода во "встроенном" (эмулируемом) Мозилле у HTMLPad. Держу его за более-менее приемлимое отображение Unicode в редакторе. Так что забираю слова о тормознутость Мозиллы: это какой-то глюк в реализации HTMLPad. Буду искать замену. Как насчет остальных ньюансов, Koljay? |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 01:21. |