从零码起调用javascript
- java语言
- 关注:7.8K次
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。以下是小编为大家搜索整理的从零码起调用javascript,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
package ;
import Reader;
import NumberReader;
import ext;
import tion;
import ptable;
public class JSExploration
{
private Context cx;
private Scriptable scope;
public JSExploration()
{
= r();
e = StandardObjects();
}
public Object runJavaScript(String filename)
{
String jsContent = sContent(filename);
Object result = uateString(scope, jsContent, filename, 1, null);
return result;
}
private String getJsContent(String filename)
{
LineNumberReader reader;
try
{
reader = new LineNumberReader(new FileReader(filename));
String s = null;
StringBuffer sb = new StringBuffer();
while ((s = Line()) != null)
{
nd(s)nd("n");
}
return ring();
}
catch (Exception e)
{
// TODO Auto-generated catch block
tStackTrace();
return null;
}
}
public Scriptable getScope()
{
return scope;
}
public static void main(String[] args)
{
String filename = roperty("") + "/";
JSExploration jsExploration = new JSExploration();
Object result = avaScript(filename);
Scriptable scope = cope();
Function sum = (Function) ("sum", scope);
Function isPrime = (Function)(urrentContext(), scope, sum, new Object[] {2,8});
Object ss = (urrentContext(), sum, isPrime, new Object[] {2,8});
tln(ring(ss));
}
}
试验了一个java 调用 javascript 的例子,如果把中的.与this 有关的代码注销的话程序就可以正常运行。不住销掉的话就会报个运行时错误。。。
js 代码如下(有关this 的代码已注销):
function sum(x, y) {
// ulaeObject = null;
// ulaeObject["vager"] = function (c, d) {
// return (c + d)/2;
// };
var vager = 1000;
return function (x,y){return x + y + vager;} ;
}
- 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/zh-cn/jsj/java/xxpmn.html