Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Область видимости переменной в Javascript (https://javascript.ru/forum/misc/25201-oblast-vidimosti-peremennojj-v-javascript.html)

dadli 28.01.2012 16:47

Область видимости переменной в Javascript
 
здраствуите.
например есть две функции aa() и bb(). в функции aa() генерируем например какоита переменную и присвоим ему значеню:
var chtoto = 20;
но ето переменная не видно в функцие bb().
вопрос: как сделать так, что функця bb() тоже видел перемнную, которие ми создали в aa()
?

melky 28.01.2012 17:02

оставить в замыкании.
(function(){
     var chtoto = 20;
     aa = function(a){ chtoto = a  }
     bb = function(){ alert(chtoto) }
})();

alert(typeof chtoto) //undefined
bb() //20
aa(2)
bb() // 2

dadli 28.01.2012 17:50

melky,
спасибо :)
и еше один вопрос: как преобразовать переменную в яваскрипт? например есть: var variable = "20"; как преобразовать етот переменнную так, что он стал integer ?
конечно так можно:
var variable = "20";
var int_var = variable - 0;

но ето "дешови" метод, :) скажите плиз функця, которий сделает ето дело

Keeper 28.01.2012 18:08

parseInt(string,10);

dadli 28.01.2012 18:28

Keeper,
спасибо :)

Livaanderiamarum 28.01.2012 18:55

dadli,
var q = "20"
var w = Number(q) //преобразует тип в число

Keeper,
не понимаю зачем парсить нужно?

inst 28.01.2012 21:05

Цитата:

Сообщение от Livaanderiamarum (Сообщение 153648)
dadli,
var q = "20"
var w = Number(q) //преобразует тип в число

Keeper,
не понимаю зачем парсить нужно?

Если ожидается, что входная строка может иметь вид "08 hello", то в таких случаях функция parseInt() будет возвращать число, а другие варианты преобразования будут терпеть неудачу и возвращать значение NaN. Хотя, конечно, Number("20") и +"20" будут выполнены быстрее (по крайней мере, так считает Стефанов).

Livaanderiamarum 28.01.2012 21:34

inst,
так вот я и говорю, нафига ему парсинг строки? ему конвертация нужна) он так и написал)

Keeper 29.01.2012 17:39

Цитата:

Сообщение от inst (Сообщение 153700)
Если ожидается, что входная строка может иметь вид "08 hello", то в таких случаях функция parseInt() будет возвращать число, а другие варианты преобразования будут терпеть неудачу и возвращать значение NaN. Хотя, конечно, Number("20") и +"20" будут выполнены быстрее (по крайней мере, так считает Стефанов).

Мне тоже его книженция понравилась )


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