2012-10-05 3 views
1

요소 클래스 이름을 사용하여 내 개체의 메서드로 호출하려고합니다.문자열을 객체 메소드로 사용하는 방법은 무엇입니까?

var thisClass=$this.attr('class') 
//thisClass = 'call'    

obj.thisClass(ID); 

나는 원하는대로 코드가 작동하지 않습니다. 이 문제를 해결할 여지가 있습니까? 고마워요!

+2

배열 액세스 표기법 : obj [thisClass] (ID) – zzzzBov

답변

3

당신은 기능뿐만 아니라 자바 스크립트 객체 그 자체는 해당 개체의 속성 때문 작동

obj[methodName](arguments, ...); 

을 할 수 있습니다. Object 속성은에 액세스 할 수 있습니다. 및 [] 표기법은 동적 이름이나 합법적 인 javascript 식별자가 아닌 이름에 필요하지만 [] 표기는 필요합니다.

+1

점 표기법을 사용할지 여부는 다음과 같이 설명 할 수 있습니다. 점 표기법은 유효한 [식별자] (http : //) 속성 이름에만 사용할 수 있습니다. ecma-international.org/ecma-262/5.1/#sec-7.6) 대괄호 표기법은 다른 모든 식 (표현식, 문자열 리터럴, 숫자 등)에 사용해야합니다. 예 : 숫자 배열 멤버는 '0'이 유효한 식별자가 아니기 때문에 'arr.0'이 아니라 'arr [0]'으로 액세스됩니다. – RobG

관련 문제