반응형
자바 스크립트는 문자열에서 동적으로 객체 메소드를 호출합니다.
메서드 이름을 문자열로 갖는 개체 메서드를 동적으로 호출 할 수 있습니까? 나는 다음과 같이 상상할 것입니다.
var FooClass = function() {
this.smile = function() {};
}
var method = "smile";
var foo = new FooClass();
// I want to run smile on the foo instance.
foo.{mysterious code}(); // being executed as foo.smile();
속성 이름이 변수에 저장되어 있으면 []
foo[method]();
객체의 속성은 배열 표기법을 통해 액세스 할 수 있습니다.
var method = "smile";
foo[method](); // will execute the method "smile"
메서드는 eval을 사용하여 호출 할 수있는 방법이 eval("foo." + method + "()");
좋지 않을 수 있습니다.
객체 내부에서 함수를 호출 할 때 함수 이름을 문자열로 제공해야합니다.
var obj = {talk: function(){ console.log('Hi') }};
obj['talk'](); //prints "Hi"
obj[talk]()// Does not work
참고 URL : https://stackoverflow.com/questions/9854995/javascript-dynamically-invoke-object-method-from-string
반응형
'programing' 카테고리의 다른 글
파일 이름을 변경하면 파일의 MD5 해시에 영향을 줍니까? (0) | 2020.09.23 |
---|---|
관리되는 .NET 언어로 JIT 컴파일러 (네이티브 코드로)를 작성할 수 있습니까? (0) | 2020.09.23 |
cronjob을 실행하는 AWS Elastic Beanstalk (0) | 2020.09.23 |
onPause, onStop 및 onDestroy 메서드에서 슈퍼 클래스 메서드를 호출하는 올바른 순서는 무엇입니까? (0) | 2020.09.22 |
Ctrl + R, Ctrl + R 명령이 작동하지 않음 (0) | 2020.09.22 |