기능
변수 선언과 같은 선언 기능.
문법
var c = 1;
var 생략
JavaScript에서는 var 키워드를 생략하고 값을 직접 할당하면 이 변수는 함수에 정의되어 있어도 전역 변수가 됩니다.
<script type="text/javascript"> function Define() { a = 2; } function Hello() { alert(a); } </script>
코드에서 볼 수 있듯이 Define() 함수를 실행하면 변수 a가 전역 변수로 선언됩니다. 변수 a는 Hello() 함수에서 참조될 수 있습니다.
더 구체적인 예
자바스크립트에서 var 키워드가 변수를 선언하는 데 사용된다는 것은 다들 알고 계시지만, 이 키워드를 사용하지 않고 직접 변수 이름을 작성한 후 할당하면 자바스크립트에서는 오류를 보고하지 않고 자동으로 오류가 발생합니다. 변수를 선언합니다. JavaScript의 var가 중복될 수 있습니까? 분명히 그렇지 않습니다!
다음 코드를 살펴보세요.
str1 = 'Hello JavaScript!'; function fun1() { str1 = 'Hello Java!'; } fun1(); alert(str1); // 弹出 Hello Java!
보시다시피 fun1 함수가 호출된 후 함수 내에서 str1의 값이 변경됩니다.
위 코드를 약간 수정하세요:
str1 = 'Hello JavaScript!'; function fun1() { var str1 = 'Hello Java!'; } fun1(); alert(str1); // 弹出 Hello JavaScript!
str1의 값은 fun1 함수에 의해 변경되지 않습니다.
분명히 var 키워드는 변수의 범위에 영향을 미칩니다.
함수 외부: 변수는 var로 선언되었는지 여부에 관계없이 전역 변수입니다.
함수 내부: var 키워드로 선언하지 않은 변수는 전역 변수입니다. var 키워드로 선언한 경우에만 지역 변수입니다.
결론
잠재적인 위험을 방지하려면 변수를 선언할 때 var 키워드를 사용해야 합니다.