var strValue = prodList.valueMatrix(nRow, prodList.colRef("PROD_DESC"));

strValue = strValue.replace("%","*0.01"); // %를 소수점으로 환산 처리

rplValue = strValue.replace(/[^\.0-9*\/\+\-\(\)\)\(]/g,""); // 계산을 위해 소숫점, 사칙연산자, 숫자, 괄호만 제외하고 모두 삭제

try{

amt = eval(rplValue);

prodList.valueMatrix(nRow, prodList.colRef("SUP_RQST_AMT")) = amt;

if(rplValue != ""){

연산함수();

}

}catch(e){

// error

}





eval 함수 [퍼옴]


"3+4"라는 문자열을 7이라는 값으로 계산해주는 함수로 알고 계신다고 하셨는데..
잘못된 지식입니다.

eval() 함수변수를 javascript의 함수처럼 쓰는 명령어 입니다.

즉.
str += "document.test.check"+i+".value";
위의 뜻은 변수명이 document.test.check1.value 형식으로 들어가는데...
이것을 함수처럼 쓸수는 없다는 뜻입니다.
그냥 저런 문자열이라는 뜻이죠.
결국  str을 alert시키면 document.test.check1.value이 출력되게 됩니다.

그리고
str += eval("document.test.check"+i+".value");
str에 함수이름들이 들어가 있는 겁니다.
그래서 alert를 시키면 value가 1이나 2가 찍히게 되는 것이지요.

두번째 것은 로직상의 문제는 없습니다만..
this.form이 실행될때와 document.test가 잘 실행될때가 있더군요..
문제점은 확실히 모르겠고요..

프로젝트 도중에도 그런 상황에 여러가지를 실행합니다.
 
 

eval() 기능함수는 Javascript 코드가 맞는가 틀린가를 검정하고 수행한다.

eval(jsString)
인수
eval() : (검정, 수행 기능함수)
필수적인 인수로 최상위 내장 기능함수이다.
jsString : (검정할 문자열)

선택적인 인수로 기능함수의 인수(argument)로 주어진 코드 문자열로 검정의 대상이 된다.

jsString은 선택적이기는 하지만, 없으면 값 "undefined"을 반환한다.

인수는 Javascript 코드가 아니고 문자열임에 주의하라.

설명

검정하는 순서는

  1. 제공된 jsString 문자열이 Javascript로 유효한가를 먼저 검정한다.
  2. Javascript 코드로서 해석하기 위하여 파싱(parse)한다.
  3. eval() 기능함수는 파싱된 내용에서 Javascript 문장 코드를 발견하면, 그 내용을 수행하고,
  4. 그 결과값이 있으면, 그 값을 반환한다(return).
특기

jsString은 Javascript 문장, 복수의 문장등이며 개체(object)의 변수와 속성(property)을 가질 수 있다.

문자열로 구성된 Javascript 문장을 직접 실행시키는데 유용하다.


'정규식' 카테고리의 다른 글

특수문자로 이어진 문자중 일부를 가져오는 정규식 쿼리  (0) 2022.06.27
정규식 .  (0) 2012.08.24
정규식 .  (0) 2012.08.24
이메일 정규식  (0) 2012.08.08
Posted by 사라링
BLOG main image
.. by 사라링

카테고리

사라링님의 노트 (301)
JSP (31)
J-Query (41)
JAVA (24)
VM-WARE (0)
디자인패턴 (1)
스크랩 (0)
스트러츠 (3)
안드로이드 (11)
오라클 (45)
우분투-오라클 (1)
이클립스메뉴얼 (6)
스프링3.0 (23)
자바스크립트 (10)
HTML5.0 (17)
정보처리기사 (1)
기타(컴퓨터 관련) (1)
문제점 해결 (3)
프로젝트 (2)
AJAX (4)
하이버네이트 (3)
트러스트폼 (11)
Jeus (2)
재무관리(회계) (5)
정규식 (5)
아이바티스 (8)
취미 (2)
소프트웨어 보안 관련모음 (0)
정보보안기사 (6)
C언어 베이직 및 프로그램 (3)
보안 관련 용어 정리 (2)
넥사크로 (6)
Total :
Today : Yesterday :