JavaScript의 두 선언 사이에 다른 점은 무엇입니까? 하나는 함수 주위에 괄호가 있고 다른 하나는 그렇지 않습니까?자바 스크립트에서 모듈의 두 선언 사이의 차이점은 무엇입니까?
한 기사는 말한다
주목하라() 익명 함수 주위에. 토큰 기능으로 시작하는 명령문은 항상 이며, 항상 함수 선언으로 간주되므로이 언어가 언어에 필요합니다. Including()은 대신 함수 표현식을 만듭니다.
두 가지 모두 동일한 것으로 간주됩니다.
var person = (function() {
// Private
var name = "Robert";
return {
getName: function() {
return name;
},
setName: function(newName) {
name = newName;
}
};
}());
var person = function() {
// Private
var name = "Robert";
return {
getName: function() {
return name;
},
setName: function(newName) {
name = newName;
}
};
}();
[함수 선언] (http://ecma-international.org/ecma-262/5.1/#sec-13)도 아니며 둘 다 함수 표현식입니다. – RobG
차이는 없습니다. –
보통 두 번째 것은'person() '을 통해 먼저 인스턴스화되어야하지만 런타임 환경에 버그가있을 수 있습니다. –