var objectTest=
{
test1: function()
{
val1 = 1;
},
// hows accessing the
test2: function()
{
alert(val1);
}
};
objectTest.test2();
답변
다른 기능에 액세스 할 수 있습니다 대신 시도 :
test1: function() {
var val1=1;
},
이 @Pekka가 지적 하듯이, 당신을 예 (위)는 objectTest.test1();
을 먼저 호출해야합니다 (val1
을 작성하십시오) 그렇지 않으면 오류가 발생합니다. 당신이 두 곳에서 변수에 액세스 할 수 원하는 경우에, 당신은 오히려 (@patrick의 DW는 제안 같은) 전역 범위에 추가하지 않는 객체 속성을 사용해야
objectTest.test1();
objectTest.test2(); //Shows: Alert-1
alert(val1); //Shows: Alert-1
val1=2;
objectTest.test(2); //Shows: Alert-2
하지만이 방법으로'val1'을'test2()'에 국한시킬 수 있을까요? –
Pekka! LTNS. 그게 그가 묻는거야? – Rudu
은 할 수 없습니다 . 두 가지 기능을 동시에 실행할 수 없으므로 로컬 범위를 공유하는 것은 불가능합니다. 객체의 구성원으로 val1
을 정의해야합니다.
궁극적으로 원하는 일에 달려 있습니다.
예 : 원래 코드 변경이 물론http://jsfiddle.net/wqr6W/
var objectTest=
{
val1: 'someDefault',
test1: function()
{
this.val1 = 1;
},
// hows accessing the
test2: function()
{
alert(this.val1);
}
};
objectTest.test1();
objectTest.test2();
당신은 객체의 public 멤버 만들 수 있습니다. 당신이 실제로해야 할 일은 당신의 상황에 달려 있습니다.
또는이 :
예 :http://jsfiddle.net/wqr6W/1/
var objectTest=
{
val1: 'someDefault',
test1: function()
{
this.val1 = 1;
},
// hows accessing the
test2: function()
{
this.test1();
alert(this.val1);
}
};
objectTest.test2();
가 더 직접적으로 질문에 대답하기 위해 다른 대답을 추가. 당신이 실제로 함수에 지역 변수에 대해 이야기하는 경우
는 간단한 대답은 액세스가하지 않는 한 참조를 만드는 변수가있는 함수에서 함수를 통과 하지 수 있다는 것입니다 변수에.
이것을 클로저 만들기라고합니다.
var objectTest=
{
test1: function()
{
var val1 = 1;
return {getVal:function() {
return val1;
}};
},
// hows accessing the
test2: function()
{
alert(this.test1().getVal());
}
};
objectTest.test2();
그래서 test2
내부의 로컬 변수를 참조하는 기능을 포함하는 객체를 반환 test1()
함수를 호출 할 수 있습니다.
그 (또는 이와 비슷한) 함수에서 액세스 할 수없는 지역 변수를 참조하는 것입니다.
- 1. PHP가있는 함수에서 데이터베이스 변수에 액세스
- 2. "로컬"변수에 액세스
- 3. 배열 색인을 사용하여 다른 변수에 액세스 할 수있는 이유는 무엇입니까?
- 4. 내 함수가 둘러싼 함수에서 변수에 액세스 할 수없는 이유는 무엇입니까?
- 5. 쉘의 다른 함수에서 함수 사용
- 6. javascript 다른 함수에서 함수 실행
- 7. PHP : 로컬 함수 변수에 __get-like 메소드를 구현하는 방법
- 8. 부분적으로 만 액세스 할 수있는 레일스 변수에 어떻게 액세스합니까?
- 9. 다른 사용자가 다른 테이블에 액세스 할 수있는 권한 mysql, 다른 테이블에 액세스 할 수있는 권한
- 10. Xcode에서 다른 함수에 속한 변수에 액세스
- 11. 로드 함수에서 외부 변수에 액세스하기
- 12. 다른 함수의 액세스 변수
- 13. 익명 메서드가 로컬 변수에 액세스 할 때 런타임 예외를 throw합니다.
- 14. 로컬 방법 내에서 로컬 범위 변수에 다음 당신이 할 수있는 자바에서는 SQL
- 15. "이것을 삭제하십시오"후 로컬 변수에 액세스
- 16. 다른 컨트롤러에서 컨트롤러의 변수에 액세스
- 17. 다른 클래스의 변수에 액세스 하시겠습니까?
- 18. 로컬 내부 클래스 메서드 포함 로컬 변수에 안전하게 액세스
- 19. 는 usort 함수 내에서 전역 변수에 액세스 할 수 없습니까?
- 20. jQuery에서 전역 변수에 액세스 할 수 없습니다. 함수 내에서 .get.
- 21. PHP의 함수 내부에서 전역 변수에 액세스
- 22. 다른 함수에서 jQuery의 DOM 준비 함수 호출
- 23. JSF에서 Javascript 변수에 액세스
- 24. 콜백 함수에서 변수에 액세스 (및 편집)하는 방법은 무엇입니까?
- 25. __class__ 접두사가없는 인스턴스에서 클래스 변수에 액세스 할 수있는 이유는 무엇입니까?
- 26. HTML을 사용하여 Rails 변수에 액세스 할 수있는 태그를 선택하십시오.
- 27. 다른 함수에서 변수를 얻는 방법
- 28. jQuery를 - 변수 다른 함수에서 함수 변수를 호출
- 29. 함수 결과를 변수에 저장
- 30. 다른 ViewController.m에서 AppDelegate.m의 배열 변수에 액세스
당신은 그것을 액세스하고 있다고 말하고 있습니까? –
이 질문은 분명하지 않습니다. – Pointy
포기 했습니까? – Rudu