약 일주일 전에 Javascript를 배우기 시작했고 약간의 걸림돌이 생겼습니다. 제공된 링크에서 어떤 이유로 든 객체 내부에서 함수를 호출 할 수 없습니다. 내가 뭘 잘못하고 있는거야? 어떤 충고라도 잘 될 것입니다.개체 내부에서 함수를 호출하는 방법
0
A
답변
2
당신은 함수를 호출하고 있지만 기능은 정의되지 않은 반환합니다. 은 testObj
, this == testObj
에 다른 문맥에서 호출되는 다른 의미를 가지므로 this.word
은 정의되지 않습니다.
아마도 fiddle이 도움이 될 수 있습니다.
0
var testObj = {
bar: function(){
console.log(this.word)
}
}
당신은 testObj.bar 를 호출 다음은이는 testObj을 의미하고 testObj는 프로퍼티 단어
var testObj = {
bar: function(){
console.log(this.word)
}.bind(this)
}
사용 .bind (이) 나 .bind (창)
0
때문에이없는 경우 범위가 변경되었습니다.
JavaScript에서 범위는 코드의 현재 컨텍스트를 나타냅니다. 범위는 전역 적으로 또는 국지적으로 정의 될 수 있습니다. 자바 스크립트 범위를 이해하는 것은 방탄 코드를 작성하고 더 나은 개발자가되는 열쇠입니다. 변수/함수에 액세스 할 수있는 위치를 이해하고 코드 컨텍스트의 범위를 변경하고 더 빠르고 유지 보수가 쉬운 코드를 작성할 수있을뿐만 아니라 훨씬 빨리 디버깅 할 수 있습니다.
그래서 올바른 코드는 다음과 같습니다
솔루션에서var that = this;
var testObject = { bar: function() { return that.word }}
은 "이" "창"개체입니다. 그래서 당신은이를 코딩 할 수 있습니다 :
var testObject = { bar: function() { return window.word }}
관련 문제
- 1. 함수 내부에서 함수를 호출하는 방법
- 2. 클래스 내부에서 함수를 호출하는 방법
- 3. 개체 내부에서 익명 함수를 사용하려고합니다.
- 4. iframe 내부에서 javascript 함수를 호출하는 방법
- 5. $ this없이 클래스 내부에서 함수를 호출하는 방법?
- 6. jQuery : 문서의 내부에서 var 함수를 호출하는 방법?
- 7. 개체 표기법으로 내부 JavaScript 함수를 호출하는 방법
- 8. .ajax 내부에서 함수를 호출하는 방법은 무엇입니까?
- 9. 이벤트 내부에서 함수를 호출하는 방법은 무엇입니까?
- 10. 클래스 내부에서 외부 함수를 호출하는 방법은 무엇입니까?
- 11. 내부에서 호출 할 수있는 개체 함수를 설정하십시오.
- 12. 개체 내부에서 함수를 호출/사용하는 방법은 무엇입니까?
- 13. 내부에있는 함수를 호출하는 방법
- 14. 사용자 지정 특성 클래스 내부에서 함수를 호출하는 방법
- 15. 각도 범위 함수를 호출하는 방법 컨트롤러 내부에서 자바 스크립트 함수에서
- 16. 개체 내부에서 변수에 액세스하는 방법
- 17. 함수를 자동으로 호출하는 방법?
- 18. 문자열로 함수를 호출하는 방법
- 19. jquery에서 함수를 호출하는 방법
- 20. C에서 함수를 호출하는 방법
- 21. 함수를 포인터로 호출하는 방법?
- 22. 함수에서 함수를 호출하는 방법
- 23. 값에서 함수를 호출하는 방법
- 24. PHP 함수를 호출하는 방법?
- 25. anglejs에서 함수를 호출하는 방법
- 26. 파이썬에서 함수를 호출하는 방법?
- 27. html로 함수를 호출하는 방법?
- 28. PHP 함수를 호출하는 방법?
- 29. jQuery에서 함수를 호출하는 방법
- 30. grails에서 함수를 호출하는 방법
는 사용'this' 대신'this.word' 및 콘솔 당신에게 this' 당신이 위치에 따라'에 대해 서로 다른 값을주는 것을 볼 수 있습니다보십시오. –
그 문법은 저에게 다가옵니다. 함수를 객체의 일부로 정의 할 때 이미 이름을 ... bar로 지정했습니다. 나는'test'도 거기에 있어야한다고 생각하지 않는다. 다음과 같은 것 :'bar : function() {...}' – David
@David, 문법이 이상하다, 나는 동의하지만 작동한다 : [fiddle] (https://jsfiddle.net/kv6bf76n/). –