표준 JavaScript에서 키워드 public
은 현재 의미가 없습니다. 원래의 코드를 기반으로
는
, 나는 당신이 의미 의심 다음 add
기능 :
function myObject(){
this.keyOne=1;
this.keyTwo=2;
this.keyThree=3;
function add(){
return this.keyOne+this.keyTwo+this.keyThree;
}
return {
add: add
};
}
기능은 다음 하나 개의 속성을 가진 개체를 반환합니다. 이 개체는 return
키워드 뒤에 개체 리터럴에 의해 만들어집니다.
그러나 그렇다면 this
을 사용하는 것은 의미가 없습니다. 당신이 쓴 수 :
function myObject() {
var keyOne=1;
var keyTwo=2;
var keyThree=3;
function add() {
return keyOne + keyTwo + keyThree;
}
return {
add: add
};
}
또는 더 간결 :
function myObject() {
var keyOne=1;
var keyTwo=2;
var keyThree=3;
return {
add: function() {
return keyOne + keyTwo + keyThree;
}
};
}
이 당신이 그것을 new
로 시작 호출 할 필요가없는 추가 된 장점을 가지고 있습니다.
function myObject(keyOne, keyTwo, keyThree) {
return {
add: function() {
return keyOne + keyTwo + keyThree;
}
};
}
var o = myObject(5, 4, 7);
alert(o.add());
내가 얻을 그런 식으로 구현 : 당신은 번호를 지정하는 호출자가 다음과 같이 추가 할 수 있었다
: 그것은 만들고 다른 기능을 포함하는 객체를 반환 그냥 평범한 기능입니다 "결과의 표현식"myObject.add '[정의되지 않은] 함수가 아닙니다. "; – mkind
@mkind - 위와 같이 정확하게 * 가지고 있습니까? 데모에서 어떻게 작동하는지 확인할 수 있습니다 ... 버전이 확답과 다를 수 있습니다 : –
생성 및 호출이 다른 js 파일에서 발생한다고해도 올바르게 포함되면 문제가되지 않습니다. ? – mkind