2013-04-30 3 views

답변

1

JavaScript에 네임 스페이스가 없습니다. 코드의 첫 번째 줄은 이름이 Namespace 인 변수를 선언하고 값이 대상이다 :

var NameSpace = NameSpace || {}; 

그런 다음 당신이 개체에 특성Foo를 만들고, 그것에 값을 할당합니다

NameSpace.Foo = 2; 

결론 : 변수와 ​​객체 속성은 다른 것 (다른 차이점은 변수가 범위를 가지지 만 속성은 그렇지 않음)입니다. var statement은 변수 선언에만 사용됩니다.

0

var은 기존 변수를 수정하지 않고 새 변수를 선언하기 위해 예약되어 있습니다.

또한 .은 변수 이름에 대해 유효하지 않은 문자입니다. ECMA 스크립트는 후드 아래에 떨어져 같은

var foo; 
foo = foo; 

이 라인을 분리합니다

1
var foo = foo; 

작품 때문이다. 이 개념은 보통 호이스트이라고합니다.

두 번째 코드 단편은 객체 속성을 할당하므로 사용할 수 없습니다. var 키워드는 현재 변수, 기호을 생성하고자 함을 의미하므로 현재 실행 컨텍스트 내에서 말합니다. 당신은 물론 무엇을 할 수 있는지

는이

  • 는 현재 컨텍스트
  • NameSpace 개체의 개체 속성 Foo을 할당에서 변수 Foo을 만들 것

    var Foo = NameSpace.Foo = 2; 
    

    입니다

  • 2
  • 값을 할당하십시오.