Динамическое значение (например длину массива) запись в постоянное
Здравствуйте, столкнулся с проблемой и не могу понять как решить, допустим:
function test(){ ... num=array.length // значение меняется часто elem.onclick=function (){hide(num)} //закрыть объект с ID=num Вот мне надо чтобы num был не текущий, а тот что был на определённый момент, вопрос - как записать динамически меняющее значение на данный момент в переменную, и чтобы там уже осталось это значение. Помогите пожалуйста, может в константу записать (хотя я о них в JS не слышал:) )? |
замыкания
|
Цитата:
|
Не могу понять, например, что здесь не так:
function test() { tabs[0] = 0 num=tabs.length-1 tabs.push(num) var numtab=function() {num=tabs.length-1} return numtab} И уже если подставить в другую функцию numtab, то не работает ничего, а если num то старая проблема - tabs.length часто меняется и не запоминается в переменной посстояно. |
Цитата:
|
в первом посте всё изложено, пытаюсь сделать замыкание
|
В первом посте у вас переменная глобальная.
|
Замкните лучше так.
elem.onclick = function(a){ return function() {hide(a)}}(num); |
qwoiejfoiej,не, это что-то уже инопланетное =). Kolyaj, переменная мне нужна глобальная, но вообще можно и сделать её локальной, но проблемы это не решает, тут вроде даже не в замыкании дело... Блин, вот проблема попалась...
|
Так чего вы от неё хотите, если вы её меняете постоянно? qwoiejfoiej показал, что вам нужно.
|
Часовой пояс GMT +3, время: 14:24. |