我知道JavaScript不支持宏(Lisp风格的),但我想知道是否有人有解决方案可能模拟宏?我用谷歌搜索,其中一个解决方案建议使用eval(),但正如他所说,将是非常昂贵的.
他们并不一定非常喜欢.我只想用它们做简单的事情.它不应该使调试更加困难:)
我偶然发现了几种在JavaScript中循环的方法,我最喜欢的是:
for(var i = 0; i < a.length; i++){
var element = a[i];
}
Run Code Online (Sandbox Code Playgroud)
但是在这里进行了测试(http://www.robertnyman.com/2008/04/11/javascript-loop-performance/),应该编写它以便只计算一次长度.
在jQuery中有一个.each,你可以坚持一个功能.我喜欢这个更好一点,因为我不需要输入两次数组,就像上面的解决方案一样.
如果JavaScript支持宏,那么推出自己的宏将是件小事,但遗憾的是它没有.
那么你们用什么?
直观地说,似乎语言的编译器Foo本身不能用Foo编写.更具体地说,语言的第一个编译器Foo不能用Foo编写,但可以编写任何后续的编译器Foo.
但这是真的吗?我对一种语言的阅读非常模糊,这种语言的第一个编译器是用"本身"编写的.这是可能的,如果是这样的话怎么样?
我设法创建了一个动态加载子节点的Ext.tree.TreePanel,但是我很难清除树并用新数据加载它.有人可以帮我解决这个问题吗?
我有一个小型的金融应用程序,以 PHP 作为前端,MySQL 作为后端。我有古老的偏见,我在 MySQL 中将货币值存储为美分的整数。我的 HTML 表单允许输入美元值,例如“156.64”,我使用 PHP 将其转换为美分,然后将美分存储在数据库中。
我有一个函数可以从表单中清除美元值,并将其转换为美分。我去掉前导文本,去掉尾随文本,乘以 100 并转换为整数。最后一步是
$cents = (integer) ($dollars * 100);
这几乎适用于所有情况,除了极少数值(例如“156.64”),它始终转换为 15663 美分。为什么要这样做?
如果我这样做:
$cents = (integer) ($dollars * 100 + 0.5);
然后它始终有效。为什么我需要添加该舍入值?
另外,我对将金额存储为整数而不是浮点值的偏见,是否不再需要了?现代浮点计算能否产生足够四舍五入且准确的货币价值,足以保持 100% 准确的会计?
有谁知道将Java方法作为Web服务发布的一种非常简单的方法?我真的不想要使用Tomcat或Jetty或任何其他容器框架的开销.
场景:我在服务类型应用程序中有一组Java方法,我想从本地LAN上的其他机器访问.
我正在寻找一种用于线框模型的简单文件格式.我知道VRML,u3D等,但这些似乎对我的需求很重要.我的criterea是:
或者我只是更好地将顶点/边缘列表写入文本文件并完成它?
当使用Lucene.Net和ASP.NET时,我可以想象一个Web请求可以触发对索引的更新,而另一个Web请求正在执行搜索.Lucene.Net是否内置了管理并发访问的能力,或者我是否必须对其进行管理,以避免"被其他进程使用"错误?
编辑:阅读文档和实验后,我认为这是我所学到的:有两个问题,线程安全和并发.多线程是"安全的",因为你不能对索引做任何坏事.但是,以一个锁定索引的对象为代价是安全的.第二个对象将出现并抛出异常.因此,您不能打开搜索并期望另一个线程中的编写者能够更新索引.如果线程正在忙于更新索引,那么尝试创建搜索器将失败.
此外,搜索者会看到索引在打开时的状态,因此如果您保留它们并更新索引,他们将看不到更新.
我希望我的搜索者能够看到最新的更新.
我的设计,到目前为止似乎工作,是我的作家和搜索者共享锁,以便他们不会失败 - 他们只是等待 - 直到当前的写或搜索完成.
当我给Java和C大浮点数和双倍数(在十亿范围内)时,它们将它们转换为科学记数法,在此过程中失去了精确度.我怎么能阻止这种行为?
javascript ×3
java ×2
macros ×2
3d ×1
asp.net ×1
browser ×1
c ×1
casting ×1
concurrency ×1
currency ×1
extjs ×1
extjs3 ×1
file-format ×1
footer ×1
html ×1
jquery ×1
lisp ×1
loops ×1
lucene ×1
lucene.net ×1
opengl ×1
php ×1
remoting ×1
web-services ×1
wireframe ×1