Придумывать ничего не надо, достаточно понимать. Чтоб потом, когда внезапно понадобится, само на ум пришло.)
|
Может вопрос и тупой, но можно ли как-то получить набор видимых, объявленных в коде переменных и, возможно, функций? Например,
(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, время: 04:59. |