는 anonimous 기능을 실행하고 (기능이 충족 정의) 및 글로벌 맥락에서 그것을 볼 수 있습니다 : 브라우저에서 실행글로벌 컨텍스트와 "이"Node.js를에 JS 코드에 따라
(function(GLOB){
GLOB.met = function(s) {
console.log(s);
}
})(this);
met("Hi!");
, 작품 좋아, "Hi!"라고 표시합니다. 콘솔에. 그러나 Node.js에서 실행하면 마지막 행에서 "met is not defined"오류가 발생합니다. 그것뿐만 아니라 Node.js를 잘 작동
this.met("Hi!");
: 지금의 마지막 줄을 변경
.
노드에서 첫 번째 버전이 작동하지 않는 이유는 무엇입니까?
이 코드 샘플은 전역 범위에있을 때 잘 작동합니다 ... 모듈 하나가 아닌 전체 범위에서 실행했는지 또는 일부 외부 닫음으로 감싸지 않았는지 확인하십시오. –