2010-12-08 4 views
18

Можно создать дубликат:
Difference between using var and not using var in JavaScriptjavascript var или не var, в чем разница?

Привет Все

Декларирование var myVar; с var ключевого слова или объявления myVar без него.

Это может быть глупый вопрос для некоторых, но я участвую в процессе обучения с помощью javascript.

Когда-то, читая чужие коды, я вижу, что некоторые переменные объявлены без «var» спереди. Чтобы подчеркнуть, эти переменные даже не объявлены как параметры функции.

Так в чем же разница между объявлением переменной с или без ключевого слова 'var'?

Большое спасибо

ответ

23

Если вы не используете его, он может быть глобальной переменной, или в случае, если в IE, это будет просто взорвать.

Есть случаи, когда это вам не нужно, например, если это параметр для функции, в которой вы находитесь, она уже объявлена. Всегда использовать var в любых других случаях (в других случаях: если вы не манипулируете переменной, которая уже существует). Независимо от того, какой объем он должен быть определен, явно определите его там.

14

Это все о области. Технически вы можете опустить var, но считайте это:

myVar = "stuff"; 

function foo() { 
    myVar = "junk"; //the original myVar outside the function has been changed 
} 

function bar() { 
    var myVar = "things" //A new scoped myvar has been created internal to the function 
} 
+4

Вы не можете «технически опустить его», некоторые браузеры * позволяют *, есть разница. IE взрывается, когда вы это делаете, как и должно быть. – 2010-12-08 09:33:13

Смежные вопросы