jjzjj

abstract-syntax-tree

全部标签

javascript - 如何在支持 tree shaking 的同时使用 `chain` 和 `lodash-es`?

众所周知,lodash-es使用更模块化的语法构建,以通过构建工具支持treeshaking。但是,chain相关的功能意味着一些功能附加到对象/原型(prototype)链。我可以看到chain是用lodash-es发布的,但我不确定如何通过其他链接方法正确导入它。用例可能如下所示:import{chain}from'lodash-es'exportfunctiondouble(input){returnchain(input).without(null).map(val=>val*2).value().join(',')}编辑#1:重点不在于如何导入chain,而在于如何导入其他c

javascript - 当 var trees = new Array ("redwood", "bay", "cedar"时 0 如何成为树的属性)

这个问题在这里已经有了答案:Accessnumericpropertiesofanobjectusingdotnotation(2个答案)关闭11个月前。我在mozilla文档中看到了这个例子,但我不明白为什么。如果0是树的属性,我原以为trees.0会返回redwood但这是一个错误的陈述。a[0]是一种访问数组0属性的方法吗?在这种情况下,a["length"]也应该有效(逻辑上)。谁能说清楚?链接:developer.mozilla.orgvartrees=newArray("redwood","bay","cedar","oak","maple");0intrees;//ret

javascript - 在javascript中将文件/目录结构转换为 'tree'

我有一个看起来像这样的对象数组:[{name:'test',size:0,type:'directory',path:'/storage/test'},{name:'asdf',size:170,type:'directory',path:'/storage/test/asdf'},{name:'2.txt',size:0,type:'file',path:'/storage/test/asdf/2.txt'}]可以有任意数量的任意路径,这是遍历目录中的文件和文件夹的结果。我要做的是确定这些的“根”Node。最终,这将存储在mongodb中并使用物化路径来确定它的关系。在此示例中,/s

JavaScript: "Syntax error missing } after function body"

好吧,你知道错误了,但我到底为什么会得到它?在本地运行时我完全没有遇到任何错误,但是当我上传我的项目时却遇到了这个烦人的语法错误。我检查了Firebug错误控制台,这没有帮助,因为它把我所有的源放在同一行,我已经通过Lint解析了它,它似乎也没有发现问题——我只是以某种方式以不同的方式格式化我的大括号我讨厌的;与声明在同一行,blugh。functionToServer(cmd,data){varxmlObj=newXMLHttpRequest();xmlObj.open('POST','handler.php',true);xmlObj.setRequestHeader('Conte

javascript - {...object, property : value} work with spread syntax? 如何

在查看ES6文档时,我注意到建议使用扩展语法而不是更冗长的Object.assign()方法。但是,我对这是如何实现的有点困惑。在这种情况下object是否被分解为key:value对,之后添加或覆盖逗号右侧的属性,最后被重新组装? 最佳答案 Isobjectinthiscasebeingbrokendowntokey:valuepairs,afterwhichthepropertyontherightofthecommaiseitheraddedoroverwritten,andfinallybeingreassembled?原始

javascript - 来自 Trace Trees 的 Javascript 性能改进是否会进入其他解释语言?

听起来Mozilla在通过TraceMonkey提高JavaScript性能方面运气不错.另见AndreasGal的paperonTraceTrees.这些改进是否适用于其他解释器/编译器?如果是,这是否意味着我们将看到其他解释性语言的一系列改进? 最佳答案 AndreasGal有一个名为HotPath的研究JVM,他的团队中的一些人目前正在致力于将基于JIT的嵌套跟踪树添加到Maxine(Sun的新研究用Java编写的JVM)和HotSpot。因此,至少它也出现在其他语言的其他VM中。此外,新的PyPyJIT编译器(目前正在Pro

javascript - 如何按需重新加载 Ext.tree.TreePanel?

我想创建Ext.tree.TreePanel组件并定期从外部URl加载内容。所以我写了类似的东西newExt.tree.TreePanel({root:{nodeType:'async',text:'asdasd',draggable:false,id:'folders-tree-root'},loader:newExt.tree.TreeLoader()});现在我想重新加载这棵树,所以我写:tree.loader.dataUrl='folders-sample.json';tree.root.reload();什么也没有发生。添加:我发现的唯一方法是在TreeLoader创建时为d

javascript - 如何使用jscodeshift在文件开头插入一行

https://astexplorer.net/#/gist/ad90272020dd0bfb15619d93cca81b66/28d3cf7178271f4f99b10bc9352daa873c2f2b20//filevara="a"//whatifthisisimportstatement?//jscodeshiftexportdefault(file,api)=>{constj=api.jscodeshift;constroot=j(file.source);root.find(j.VariableDeclaration).insertBefore("usestrict");re

javascript - Bootstrap 下拉 Jquery Uncaught Error : Syntax error, unrecognized expression

我正在尝试在我的Bootstrap下拉菜单中添加一个外部http://链接,但它总是会导致UncaughtError:Syntaxerror,unrecognizedexpression:http://example.com/这是我在jQueryv1.11.3和bootstrapv3.3.5中使用的代码Webinar HomeFeaturesTestimonialsPricesHelp FAQ AboutUs ContactUs ChatwithUs我尝试添加data-target="#"但没有成功。 最佳答

javascript - 如何在不使用 eval 或构造函数的情况下用 JavaScript 编写算术表达式解析器?

给定一个字符串:varstr1="25*5+5*7";如果不使用eval或JavaScript中的构造函数,我将如何编写一个名为“output”的函数来接收字符串并输出字符串的算术值,在这个案例是160? 最佳答案 这是递归解析后的完整优先表达式求值器我在对OP问题的评论中链接到的想法。为此,我首先为要处理的表达式编写了一个简单的BNF语法:sum=product|sum"+"product|sum"-"product;product=term|product"*"term|product"/"term;term="-"term|"