Эта линия создает глобальные переменные?Эта линия создает глобальные переменные?
var first=second=third=fourth=fifth="Hello, ";
Я не совсем уверен, как проверить его :)
Эта линия создает глобальные переменные?Эта линия создает глобальные переменные?
var first=second=third=fourth=fifth="Hello, ";
Я не совсем уверен, как проверить его :)
first
будет объявлена как локальная переменная, а другие будут глобальными.
Чтобы исправить это, попробуйте следующее:
var first, second, third, fourth, fifth;
first = second = third = fourth = fifth = "Hello, ";
Или все на одной линии:
var first, second, third, fourth, fifth = fourth = third = second = first = "Hello, ";
Да, все, кроме first
глобальны в данном случае. Вы можете проверить в консоли браузера, запустив
(function() { var x = y = 1; })();
console.log(y); // 1
Может быть, вы хотите var y, x = y = 1;
хороший наконечник, чтобы сделать его одним лайнером :) – Yim
+1 для однострочного –
Да, это объявить переменные первого:
var first,second,third,fourth,fifth;
first=second=third=fourth=fifth="Hello, ";
будет делать то же самое, за исключением переменных будут все быть в ожидаемом объеме.
У вас есть только объявление переменной first
и используются четыре других переменных без их объявления, поэтому они являются глобальными.
Первый будет местным, остальные - глобальными. См. this script from JS Fiddle.
вы сделали что-то не так – Yim
Вы можете проверить, есть ли что-то глобальное, глядя в 'window'. 'Console.log (window.first)'. –
http://jsfiddle.net/ –
@Rocket Я попробую, (btw, applejack> pinkie pie) – Yim