Придумывать ничего не надо, достаточно понимать. Чтоб потом, когда внезапно понадобится, само на ум пришло.)
|
Может вопрос и тупой, но можно ли как-то получить набор видимых, объявленных в коде переменных и, возможно, функций? Например,
(function(){
var x = 5, y = 10;
console.log(__variables__); // Объект {x:3, y:10}
})()
|
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);
Давно писал. Можно заточить под свои нужды. |
Всем снова привет! Народ где я застрял? в чем ошибка?
Почему count не увеличивается?
var count =0;
whatRol(count);
function whatRol(c){
var int = window.setTimeout(rol,2);
function rol(){
c++;
alert(count)
}
}
Как я понимаю я не передаю аргумент в функцию. Но почему? |
Передаешь, ты наверно просто ожидаешь что он передался по ссылке, но примитивные значения передаются по значению.
|
Если по простому, то увеличивается внутренняя переменная c, которой при вызове присваивается значение переменной count, а не сама count.
|
мдя. ясно. надо повтыкать эту тему. про это я не подумал. спасибо всем
|
Очень был удивлен возможностью создавать константы в хроме
const X = 5; X = 10; alert(X);Какие еще браузеры их поддерживают? |
|
всегда ли функции запускаются в том порядке в каком их вызываешь?
|
| Часовой пояс GMT +3, время: 03:10. |