내가 자바 6 & 7, Nashorn에 포트에 코뿔소javax.script의 패키지와의 ScriptEngine (를 사용하는 Rhino1.7R4하고 org.mozilla.javascript 패키지를 사용하여 소프트웨어를 자바 8).Java ScriptEngine (nashorn & rhino) : 범위/바인딩을 스택하는 방법?
주요 문제는 범위 (스택)를 스택하는 것입니다. Rhino의 항아리를 사용하여, 내가 할 : 그래서
-
Scriptable scope ... Scriptable newScope = javascriptContext.initStandardObjects(); newScope.setParentScope(scope);
을 변수가 VAR없이 정의 된 경우, 변수가 var에 정의 된 경우는 전역 변수 (루트 범위)
- 입니다, 변수가 액세스되거나 수정되는 경우 로컬 범위 (현재 범위)
- , 현재 범위의 엔진 조회, 상위 및 상위 상위 ... 및 전역 범위
JS 표준 동작입니다.
setParentScope과 javax.script API를 어떻게 처리 할 수 있습니까?
API가 충분하지 않습니다. 변수에 대한 값 할당이 전역 변수 또는 지역 변수인지 여부는 알 수 없습니다 (명령문의 "var"키워드 포함 또는 불포함). –