Java/C++ OOP 배경에서 왔으며 JavaScript "객체 지향"프로그래밍을 시도하고 있습니다. 나는 작은 프레임 워크를위한 소스를보고 있었고 내가 이상하게 발견 한 것을 발견했다. 프레임 워크는 일부 전역 함수를 정의한 다음 객체 함수 내에서 해당 함수를 호출합니다. 명확히하기 위해 다음 예를 참조하십시오.왜 JavaScript 프로토 타입 함수에서 전역 함수를 사용합니까?
var MyObject = function() {
function MyObject() {
this.x = 5;
}
MyObject.prototype.getX = function() {
return _MyObjectGetX(this);
};
return MyObject;
}();
var _MyObjectGetX = function(myObject) {
return myObject.x;
};
전역 함수의 사용법은 잘 모르겠습니다. 전역 함수가 한 곳에서만 사용된다고 가정 해 봅시다 : MyObject.getX(). 왜 함수 몸체로 리턴을 이동하지 않는 것이 좋을까요? 괜찮습니까?
var MyObject = function() {
function MyObject() {
this.x = 5;
}
MyObject.prototype.getX = function() {
return this.x;
};
return MyObject;
}();
이 프레임 워크는 CoffeeScript로 작성되었으며 JavaScript로 변환되었습니다. 커피 스크립트가 불필요 할 수있는 것입니까, 아니면 JavaScript가 함수와 개체를 처리하는 방식을 완전히 오해하고 있습니까 (아니면 을 개체로 사용합니까?)?
실제로 예제를 게시하는 것이 더 나을 것입니다. 실제 예제에는 적용되지만 작성한 예제에는 적용되지 않는 이유가있을 수 있습니다. (그럴 지 모르겠지만, 가능할 것 같습니다.) – ruakh
@ruakh Brandan이 맞다면 실제 예제와 다른 점은 일부 전역 함수가 여러 객체에서 호출된다는 것입니다. 그러나 때로는 그렇지 않습니다. – WillP
프레임 워크에 대한 CoffeeScript 소스 코드가 있습니까? 그것은 추측을 좁히는 데 도움이 될 수 있습니다. – ruakh