Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как получить ссылку на переменную через аргумент функции? (https://javascript.ru/forum/misc/37052-kak-poluchit-ssylku-na-peremennuyu-cherez-argument-funkcii.html)

megaupload 06.04.2013 13:21

_dude01,
если "реализовать твою просьбу" представить как смысл, то этот смысл реализуется, и в этом есть смысл.

Цитата:

Сообщение от _dude01
в JS в них нет смысла

в js в них есть смысл

melky 06.04.2013 13:34

Цитата:

Сообщение от _dude01
но ничего лучше чем это лучше не придумал

как выше было сказано, передачу аргумента по ссылке можно сделать только в том случае, если аргумент - объект.

[[PrimitiveValue]] у числа заменить не удастся, ибо это скрытые кишки объекта

или можно замутить такие приколы, до которых рука дотягивается
function change(variable){
    variable.valueOf = variable.toString = function () { return 10; };
}

var x = new Number(1);

change(x) ;

alert(x) ; //выведет 10, тут исп-я toString

alert( x / 10 ); // выведет 1, тут исп-я valueOf

_dude01 06.04.2013 14:30

а в чём разница между
var x = 1;
//и
var x = new Number(1);
?

megaupload 06.04.2013 14:35

в первом случае примитив, во втором обьект.

Слушай ты чо тупой то какой тебе же сказали решение, чо непонятного?

Примитивное значение по ссылке передать ни как. Все? вопрос исчерпан?

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

_dude01 06.04.2013 14:35

Цитата:

Сообщение от megaupload (Сообщение 244529)
_dude01,
если "реализовать твою просьбу" представить как смысл, то этот смысл реализуется, и в этом есть смысл.


в js в них есть смысл

нету вить в JS нет приватных переменных

megaupload 06.04.2013 15:34

А вот и есть и образуются они общепринятым неймспейсом "_"

function Cat() {

	Object.defineProperties(this, {

		_name: {writable: true},

		name: {
			get       : function () {
				return this._name;
			},
			set       : function (value) {
				return this._name = value;
			}
		}

	});

}

var cat = new Cat;

cat.name = "Ашот";
alert(cat.name);

melky 07.04.2013 08:35

Цитата:

Сообщение от megaupload
А вот и есть и образуются они общепринятым неймспейсом "_"

и в дополнение к сжатию Google Closure Compiler в advanced mode эти "приватные" переменные меняют свои имена, либо вообще инлайнятся - получается неплохо

megaupload 07.04.2013 12:58

это типа побочный эффект чего-то или так задуманно)?
надо ли для них писать jsdoc сверху?

melky 07.04.2013 13:06

Цитата:

Сообщение от megaupload (Сообщение 244638)
это типа побочный эффект чего-то или так задуманно)?
надо ли для них писать jsdoc сверху?

побочный эффект продвинутой минификации

megaupload 07.04.2013 13:35

Не, я имею ввиду они НАМЕРЕННО так делают? или это случайно так получается


Часовой пояс GMT +3, время: 13:36.