Ссылки в 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, время: 01:17. |