草庐IT

dir-or-file-in-opt

全部标签

javascript - 使用 PEG 解析器进行 BBCode 解析 : pegjs or . .. 什么?

我有一个bbcode->html转换器,它响应文本区域中的更改事件。目前,这是使用一系列正则表达式来完成的,并且存在一些病态案例。我一直想在这个语法上削尖铅笔,但不想涉足剃牛毛。但是......最近我开始意识到pegjs,这似乎是PEG解析器生成的一个非常完整的实现。我已经指定了大部分语法,但现在我想知道这是否适合使用成熟的解析器。我的具体问题是:由于我的应用程序依赖于将我能翻译的内容翻译成HTML并将其余部分保留为原始文本,因此使用可能因语法错误而失败的解析器实现bbcode是否有意义?例如:[url=/foo/bar]clickme![/url]一旦输入结束标记上的结束括号,肯定会

javascript - 如何使用cq :includeClientLib in CQ5 to include CSS and Javascript

CQ5usingclientLibrary[cq:includeClientLib]中的js和cssinclude概念是什么?最好有一个带有屏幕截图的示例。 最佳答案 关于您的问题,请找到以下链接:http://experiencedelivers.adobe.com/cemblog/en/experiencedelivers/2012/12/clientlibs-explained-by-example.html 关于javascript-如何使用cq:includeClientLib

javascript - NVD3 javascript : add colors to points in a scatter plot

我正在尝试根据一些具有x、y和z值的数据绘制散点图。我的代码和NVD3网站上的例子是一样的,http://nvd3.org/ghpages/scatter.html,除了我还计算了z值。比方说z=x+y。我不想更改半径值,而是想通过在两种颜色之间插值来设置颜色。所有点都显示在图表上,但我不知道如何为单个点设置颜色,只能为系列设置颜色。为简单起见,我首先尝试将点设置为静态颜色,如下所示:[{"key":"XPlusY","values":[{"x":0,"y":0,"z":0,"color":"#ff0000"},...]但这不起作用,所以我想我需要在javascript中执行此操作。我

javascript - EXTJS 5 : How to sort grid column in EXT JS 5

我最近将EXTJS的版本更新到5,并且覆盖doSort函数不再有效。有人知道怎么做吗?覆盖示例:{text:'Custom',sortable:true,dataIndex:'customsort',doSort:function(state){vards=this.up('grid').getStore();varfield=this.getSortParam();ds.sort({property:field,direction:state,sorterFn:function(v1,v2){v1=v1.get(field);v2=v2.get(field);returnv1.len

javascript - Node + xmldom : How do I change the value of a single XML field in javascript?

使用nodev.0.10.29,Expressv4.12.0和xmldomv0.1.19,我正在尝试执行以下操作:步骤将XML文件读入字符串使用xmldom将字符串转换为XML对象设置default字段到test将XML对象转换回字符串问题问题是在我设置之后字段,它在对象中正确设置,但是当我将它转换为字符串时,字段恢复为旧值(错误)。代码代码如下所示:varfs=require('fs');varDOMParser=require('xmldom').DOMParser;varXMLSerializer=require('xmldom').XMLSerializer;varfilena

javascript - for-in 循环之前和之后的 in-operator

我是Javascript的新手,我试图根据in运算符的工作原理来弄清楚for...in循环的工作原理。This消除了困惑。但是,我现在很困惑,为什么in运算符在除最后一种情况之外的所有情况下都返回false。看起来for...in循环正在使用其最后一次迭代的值在obj中创建键keyTest。我的理解对吗?当用于遍历所有对象键时,for...in循环是否会在它们迭代的对象中创建键/值?如果是这样,对理解的任何帮助都会很有帮助。varkeyTest,obj={}keyTestinobj;//falsefor(varkeyTestinobj){obj[keyTest]};keyTestino

javascript - 使用 'Promise' 与不使用 'Promise' : in which cases?

我不知道SO是否适合提出这样的问题。我知道一点Promises,我在Node/Express环境中使用它们来“修复”Node的异步行为查询数据库(=等待数据库回答,然后做一些事情)。然而,我使用它们的次数越多,我就越不知道何时不用它们。例如,我写了一段这样的代码(用于查询GoogleMatrixAPI的本地脚本).......for(vari=0;i{}...我不知道在这里使用Promise.all是否有意义...有规律可知吗?我没有得到的行为?换句话说,我什么时候知道我的脚本运行没有正确参数的函数存在“风险”(argument从另一个函数返回这不是“结束”)...?谢谢。

javascript - 如何在 mocha 中使用 should() 的 OR 条件

我想使用两个值进行比较,这样如果其中一个为真,那么我的测试应该通过。使用下面的代码只是比较第一个条件并且测试失败。if(typeoflng!=='undefined'){data.lng.should.equal(lng)||data.cityLng.should.equal(lng);我应该怎么做? 最佳答案 试试这个:if(typeoflng!=='undefined'){lng.should.be.equalOneOf(data.lng,data.cityLng);参见documentation.

javascript - react 路由器 : access history in rendered Route component

我知道有很多关于此的问题,但我似乎无法让它工作:我需要从通过路由呈现的子组件访问“历史记录”。(它从redux容器接收Prop)。我需要将历史对象传递给在每个路由中呈现的组件,这样我就可以this.props.history.push('/route')在子组件中。这个应用程序以前不太动态,所以每个Route都用component={someComponent}硬编码;但我发现在动态执行路由时,您需要使用render={()=>}.从component={}更改路线后至render={()=>...}我在子组件中丢失了历史记录。我的代码是这样的:importReact,{Compone

javascript - JS 对象的 Intl.Collat​​or

我无法在任何地方找到任何使用collat​​or.compare对对象进行排序的示例。谁能提供?到目前为止,我遇到的所有文档和示例都显示数组排序,如下例所示:varmyArray=['1_Document','11_Document','2_Document'];varcollator=newIntl.Collator(undefined,{numeric:true,sensitivity:'base'});myArray.sort(collator.compare)很高兴看到这对像这样的对象是如何工作的varobjs=[{name:'1_Document',size:40},{nam