객체의 모든 메소드를 표시하는 방법
문제:
방법을 결정합니다. 다음과 유사하게 주어진 개체에 대해 사용 가능한 모든 메서드를 나열합니다.
alert(show_all_methods(Math));
예상 출력:
abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random,round, sin, sqrt, tan, …
해결책:
모두 열거하려면 객체에 속하는 메소드를 포함한 속성은 Object.getOwnPropertyNames() 메소드를 활용합니다. 이 메서드는 속성 이름 배열을 제공합니다.
console.log(Object.getOwnPropertyNames(Math)); //-> ["E", "LN10", "LN2", "LOG2E", "LOG10E", "PI", ...etc ]
그런 다음 filter() 메서드를 사용하여 메서드만 격리합니다.
console.log(Object.getOwnPropertyNames(Math).filter(function (p) { return typeof Math[p] === 'function'; })); //-> ["random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", ...etc ]
ES3 브라우저 참고 사항:
IE 8 이하 등 ES3 브라우저에서는 내장 객체 속성을 열거할 수 없습니다. 그러나 이 제외는 일반적으로 브라우저에 의해 정의되고 열거 가능한 창 및 문서와 같은 개체에는 적용되지 않습니다.
위 내용은 객체의 모든 메소드를 어떻게 나열할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!