Ссылки в javascript
Что-то так и не понял как в функцию передать ссылку на сам объект и изменить его внутри функции.
И есть ли такое в JS |
<input type="text" value="Текст" onclick="inp(this)"> function inp(obj) { alert(obj.value); obj.value="text"; alert(obj.value); } |
Я имел в виду например вот так
function change(x) { x=11; } x=10; change(x); alert(x); Т.е. выводиться должно 11, а не 10 как сейчас, как это сделать? |
Никак.
|
А что такое неужели совсем ссылок нет?
|
"Неужели" слитно пишется.
А зачем они? Сайд эффекты плодить? |
А что такое сайд эффекты? )
|
http://www.linux.org.ru/forum/develo...C2C6A5CD13AEE6 например.
mycoding, если вы не научитесь пользоваться поиском, вы далеко не уедете. |
Цитата:
|
Цитата:
function change() { window.x=11; } x=10; change(x); alert(x); Меняет? Меняет :) |
Цитата:
function change() { x=11; } var x=10; change(); alert(x); Так лучше ) |
Цитата:
|
Угу, тут есть функция которая видит весь контекст.. почему бы не назвать её замыканием?
var closure = function(){ change(); } function change(){ x = 11; } var x = 10; Вот так вот уже и замыкание.. |
Цитата:
|
Имеется введу замыкание не из-за глобальных переменных, а из-за специфики такой (function label) записи функци.. если функция будет анонимная, то она не увидит переменную "ниже" себя в коде.
Чем это не замыкание, использовать именованную функцию для работы со всем контекстом?.. давайте рассмотрим пример.. (function(){ //... function named(){ return x; } var anonimus = function(){ alert(named()); } var x = 'чё то там'; //... anonimus(); }()); Это конечно извращение, реальную задачу сейчас трудно придумать, да может оно и не нужно вообще, но имхо, это замыкание. |
Цитата:
Ну и заодно http://dmitrysoshnikov.com/ecmascrip...er-6-closures/ |
Читал я это.
|
Тогда вы должны понимать бредовость процитированной мной фразы.
|
эээ.. ну был не прав, почему то думал, что scope контекста запоминается такой, какой был в момент объявления..
|
С замыканиями нужно связываться очень аккуратно и с солидной js подготовкой, а то можно получить Замыкание головного мозга :) .
|
:) А вот про подготовку не надо, уже достаточно давно работаю с JavaScript.
|
Часовой пояс GMT +3, время: 11:30. |