【发布时间】:2012-11-20 22:10:57
【问题描述】:
我想使用 DLR 从 c# 执行 javascript 代码。
所以我用c#和Jint写了一个简单的代码:
var script = @"
function show( )
{
return parseInt('123asd'); //in js it's 123
};
return show();";
var result = new JintEngine().Run(script);
Console.WriteLine(result);
parseInt('123asd') 在 JavaScript 中是:123
但我得到的结果是:
也许我没有看到全貌,但如果世界另一端的程序员向我发送他的脚本文件,我(和他)希望结果是一致的!
如果我弄错了,在什么情况下我会使用在 .Net 上运行其他代码? (对于每一行代码,我必须非常非常怀疑...)
【问题讨论】:
-
或者这只是 Jint 中的一个错误? jint.codeplex.com/SourceControl/changeset/view/… 根据 javascript 规范,它应该返回 123 而不是 NaN ecma-international.org/ecma-262/5.1/Ecma-262.pdf
-
@MarekKembrowski 我可以再提供 1000 个示例,这些示例会产生不稳定的结果。
-
所以也许 Chakra(IE9 引擎和 IActiveScript)对你有用? stackoverflow.com/questions/5939002/…
-
@MarekKembrowski 谢谢,我会看看。
-
不,没有错误。我坚持我的问题。
标签: c# .net dynamic .net-4.0 dynamic-language-runtime