jjzjj

Evaluation

全部标签

用于简单表达式的 Javascript 解析器

我想找到一个可以处理和评估简单表达式的javascript解析器。解析器应该能够评估正则数学表达式,并支持带参数的自定义函数。它还必须支持字符串处理。使用||进行字符串连接运算符支持是首选,但如果+可以解决问题也没关系。应由解析器处理的表达式示例:3*(2+1)-12*函数(2,2)func('HelloWorld',0,5)||'你'有没有人实现过这样的东西,或者我在哪里可以找到类似的东西? 最佳答案 我有一个ActionScriptparser的修改版本(用AS编写,不解析AS)支持自定义函数,但不支持字符串。不过,添加字符串支

javascript - ' ' 和 ""以及没有引号在 Javascript 中是什么意思?

我意识到我一直在它们之间切换,但不明白为什么,而且我发现很难搜索。 最佳答案 ''和""是一回事;它们用于定义字符串文字。不带引号的东西可以是标识符、关键字、非字符串文字、属性名称或数字(可能遗漏了一个)。例子:"helloworld"literal(string)'helloworld'literal(string)withsamecontentsdocumentidentifier(object){a:1}propertynameifkeyword(startconditionalstatement)3.4literal(num

javascript - Gecko 的 Javascript 解释器引擎语义是什么?

编辑考虑到answerresponsebelow关于引用ECMAScriptLanguageSpecification-11.13.2CompoundAssignment考虑到这些,javascript:o="";o=o+(o+=1);alert(o);o="";o=(o+=1)+o;alert(o);不一样。从左到右的脚本评估存在时间语义问题(引用:ECMAspec.-Theadditionoperator)。一个结果是+运算符不一定是可交换的。这也可以通过以下方式看到:javascript:o=1;o=o+(o+=1);alert(o);o=1;o=(o+=1)+o;alert(o

javascript - 非常简单的 JavaScript/jQuery 示例 : unexpected evaluation order of instructions

令我惊讶的是,在基于jQuery的CSS属性更改之后通过jQuery应用的CSS3转换规则实际上为该属性更改设置了动画。请看http://jsfiddle.net/zwatf/3/:最初,由于这两个类的默认CSS属性,一个div由两个类设置样式并具有一定的高度(200px)。然后通过删除一个类使用jQuery修改高度:$('.container').removeClass('active');这会将高度从200像素降低到15像素。之后,通过添加类将转换规则应用于容器:$('.container').addClass('all-transition');发生的事情是高度的降低变成了动画(

运算符的 Javascript 评估顺序

在所有浏览器(尤其是IE6+、F3+、Opera9+、Chrome)中,以下哪个表达式始终位于从左到右的前面?例如,窗口应该始终提示firstfunction然后是secondfunction。在C中,他们总是建议不要依赖于表达式求值的顺序。JavaScript也是一样还是运算符优先级一致?functionfirst(){alert('firstfunction');return0;}functionsecond(){alert('secondfunction');return23;}first()+second();first()-second();first()*second();

for-loop - for循环中的golang范围是否保证只被评估一次?

在我正在开发的软件中,我看到许多循环如下所示:for_,i:=rangestrings.Split(s,","){...}我想确保范围只被评估一次,因为拆分字符串总是代价高昂。golang的文档中有没有这方面的规定? 最佳答案 https://golang.org/ref/specTherangeexpressionxisevaluatedoncebeforebeginningtheloop,withoneexception:ifatmostoneiterationvariableispresentandlen(x)isconsta

c# - 为什么 Microsoft.Build.Evaluation 在 64 位 PC 上将 $(ProgramFiles) 评估为 "c:\program files"?

我有一个C#项目文件(.csproj),其中包含对$(ProgramFiles)的引用。我使用的是64位Windows7。当我在VisualStudio2010中编译这个项目文件时,它会在c:\ProgramFiles(X86)中正确定位文件。如果我想变聪明,而是使用Microsoft.Build.Evaluation.ProjectCollection.LoadProject([projectfile]),试图在代码中构建它,它会评估$(ProgramFiles)错误地作为c:\ProgramFiles。知道问题的原因是什么吗? 最佳答案

c# - 为什么在这种情况下将整数转换为字符串?

下面发生了什么?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;publicclassDotNetPad{publicstaticvoidMain(string[]args){inti=10;stringk="Test";Console.WriteLine(i+k);Console.WriteLine(k+i);}}i在这两种情况下都被转换为字符串。我对运算符优先级(尽管这个例子并没有展示太多)和评估方向的概念感到困惑。有时评估从左到右发生,反之亦然。我不完全了解如何计算表达式的

c# - 使用数学运算符评估字符串

这个问题在这里已经有了答案:Evaluatingstring"3*(4+2)"yieldint18[duplicate](13个答案)关闭9年前。是否有一种简单的方法来评估像这样的字符串“(4+8)*2”这样您就可以获得24的int值?还是需要做很多工作才能完成...?

c# - nest yields to return IEnumerable<IEnumerable<T>> with lazy evaluation

我写了一个LINQ扩展方法SplitBetween类似于String.Split.>newList(){3,4,2,21,3,2,17,16,1}>.SplitBetween(x=>x>=10)[3,4,2],[3,2],[],[1]来源://partitionsequenceintosequenceofcontiguoussubsequences//behaveslikeString.SplitpublicstaticIEnumerable>SplitBetween(thisIEnumerablesource,FuncseparatorSelector,boolincludeSepa