>  기사  >  웹 프론트엔드  >  JS 동적 호출 메소드 이름 example_javascript 기술 소개

JS 동적 호출 메소드 이름 example_javascript 기술 소개

WBOY
WBOY원래의
2016-05-16 17:08:311628검색

먼저 JS의 함수를 살펴보겠습니다.

JavaScript eval() 함수
정의 및 사용법

eval() 함수는 특정 문자열을 계산하고 그 안의 JavaScript 코드를 실행할 수 있습니다.
구문

eval(string)

매개변수 설명

string 필수입니다. 평가할 JavaScript 표현식 또는 실행할 명령문이 포함된 평가할 문자열입니다.

반환 값

문자열(있는 경우)을 평가하여 얻은 값입니다.

설명

이 메서드는 원본 문자열만 매개 변수로 허용합니다. 문자열 매개 변수가 원본 문자열이 아닌 경우 이 메서드는 변경 없이 반환됩니다. 따라서 String 객체를 eval() 함수에 대한 인수로 전달하지 마십시오.

ECMAScript 구현에서는 eval 속성을 재정의하거나 eval() 메서드를 다른 속성에 할당하고 해당 속성을 통해 호출하려는 경우 EvalError 예외가 발생하도록 허용합니다.

발생

매개변수에 적합한 표현식과 명령문이 없으면 SyntaxError 예외가 발생합니다.

eval()이 불법적으로 호출되면 EvalError 예외가 발생합니다.

eval()에 전달된 Javascript 코드가 예외를 생성하는 경우 eval()은 예외를 호출자에게 전달합니다.

팁 및 참고사항

팁: eval()의 기능은 매우 강력하지만 실제로 사용되는 경우는 거의 없습니다.



예 1

이 예에서는 여러 문자열에 eval()을 적용하고 반환된 결과를 확인합니다.

코드 복사 코드는 다음과 같습니다.




출력:

200
4
27

예 2

다른 경우의 eval()이 반환한 결과를 살펴보세요.


eval("2 3") // 5를 반환합니다.
var myeval = eval; // EvalError 예외가 발생할 수 있습니다.
myeval(" 2 3"); // EvalError 예외가 발생할 수 있습니다


다음 코드를 사용하여 eval()의 매개변수가 적합한지 확인할 수 있습니다:


try {
alert("결과:" eval(prompt("식 입력:" ,"" )));

catch(Exception) {
alert(Exception)
}


첫 번째 방법은 eval을 사용하는 것입니다. in js
다음은 제가 직접 작성한 예시입니다



코드를 복사하세요 코드는 다음과 같습니다. call("showmsg");
function call(functionName){
eval("this." functionName "()")
}
function showmsg(){
Alert("success");
}


eval은 자동으로 연결한 문자열을 메소드로 인식하여 호출할 수 있습니다.
그러나 단점도 엄청납니다. 호출하는 메소드의 이름을 변경하여 누군가가 메소드를 호출할 수 있다고 상상해 보세요.

두 번째 방법은 주로 자체 정의된 방법으로 사용됩니다

주로 두 번째 방법에는 특정 작성 방법이 필요하기 때문입니다



코드 복사 코드는 다음과 같습니다. function call(functionName) {
showmsgs["showmsg"]()
}

var showmsgs = { showmsg: function () {
alert("success")
}
}
call("showmsg");
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.