oop 생성 - Javascript는 문자열에서 객체 메소드를 동적으로 호출합니다.




자바스크립트 call (4)

속성의 이름이 변수에 저장되면 []

foo[method]();

메소드 이름을 문자열로 갖는 객체 메소드를 동적으로 호출 할 수 있습니까? 나는 이것을 이렇게 상상할 것이다 :

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();

객체의 속성은 배열 표기법을 통해 액세스 할 수 있습니다.

var method = "smile";
foo[method](); // will execute the method "smile"

메서드는 eval eval("foo." + method + "()"); 와 함께 호출 할 수 있습니다 eval("foo." + method + "()"); 아주 좋은 방법이 아닐 수도 있습니다.


안녕하세요 당신은이 간단한 정렬을 시도 할 수 있습니다.

var obj = [];

obj.key1 = {name: "John", room: 1234};
obj.key2 = {name: "Jim", room: 1234};

delete(obj.key1);




javascript oop dynamic methods invoke