Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   UpJump: Q&A :) (https://javascript.ru/forum/misc/14421-upjump-q.html)

Aetae 19.04.2011 01:40

Придумывать ничего не надо, достаточно понимать. Чтоб потом, когда внезапно понадобится, само на ум пришло.)

FINoM 20.04.2011 02:16

Может вопрос и тупой, но можно ли как-то получить набор видимых, объявленных в коде переменных и, возможно, функций? Например,
(function(){
var x = 5, y = 10;
console.log(__variables__); // Объект {x:3, y:10}
})()

Matre 20.04.2011 06:00

FINoM, нормальными средствами — никак. Потребуется либо разбирать код скриптом, чтобы достать объявления переменных, либо писать что-то вроде этого:

Function.prototype.scope = function () {
	var script = this.toString().replace(/function ?.*\([^)]*\)(?:\n|\s|\t)\{/, "").replace(/\}(?:\n|\t|\s)*$/, "").replace(/var +([а-яa-z0-9]+)/gi, "scope.$1");
	var scope = {};
	scope.scope = {};
	with (scope)
		eval(script);
	return scope.scope;
};


var x = function () {
	var p = 123;
};

alert(x.scope().p);


Давно писал. Можно заточить под свои нужды.

UpJump 22.04.2011 00:04

Всем снова привет! Народ где я застрял? в чем ошибка?
Почему count не увеличивается?

var count =0;
whatRol(count);

function whatRol(c){
		var int = window.setTimeout(rol,2);
		function rol(){
			c++;
			alert(count)
		}
	}


Как я понимаю я не передаю аргумент в функцию. Но почему?

poorking 22.04.2011 00:15

Передаешь, ты наверно просто ожидаешь что он передался по ссылке, но примитивные значения передаются по значению.

Aetae 22.04.2011 00:18

Если по простому, то увеличивается внутренняя переменная c, которой при вызове присваивается значение переменной count, а не сама count.

UpJump 22.04.2011 00:20

мдя. ясно. надо повтыкать эту тему. про это я не подумал. спасибо всем

FINoM 22.04.2011 02:05

Очень был удивлен возможностью создавать константы в хроме
const X = 5; 
X = 10;
alert(X);
Какие еще браузеры их поддерживают?

Matre 22.04.2011 04:53

http://javascript.ru/blog/Octane/Fun...nty-JavaScript

UpJump 22.04.2011 22:16

всегда ли функции запускаются в том порядке в каком их вызываешь?


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