Замыкание незамыкается...
var w = 4; (function() { window.q = function q() { alert(w) } })() w = 3; q() почему выдает 3 а не 4!! ? потому что в скопе функции q лежит ссылка на window.w меняя w мы меняем и то что выдаст функция. хорошо, тогда так (function() { //создаем обьект //кладем ссылку на него в локальную ww var ww = { a : 4 } //кладем ссылку на него в window.ww window.ww = ww window.q = function q() { alert(ww.a) } })() window.ww = 3 q() // выдает 4 хотя значение мы уже поменяли! |
Не тупи, ссылку на обобьет ты затёр тройкой.
Надо: window.ww.a = 3 |
млять я думал я .a написал) спасибо) а то я уже всю консоль хрома излазил вдоль и поперек
|
если бы у нас было alert(window.ww.a) а я затер так window.ww = 3
тогда бы сработало)) точно.. это и называется маленький вонючий жужащий баг из-за невнимательности |
удалил
|
Часовой пояс GMT +3, время: 21:44. |