草庐IT

good_matches

全部标签

允许具有多种数据类型的 Javascript 参数 : good practice or not?

我已经多次看到-特别是在jQuery中-一个函数可以有多种有效数据类型,比方说字符串或函数。此外,在我自己的代码中,有时我的函数可以采用一个或多个值。所以我可以调用函数:myFunc("arg");ormyFunc(["arg1","arg2",...]);这看起来更灵活,打字也更方便,但这真的是好事吗?因为另一方面,没有明确说明函数是什么类型,据我所知,JIT编译器无法高效工作。并且通常必须进行某种类型的类型强制转换,这会带来额外的性能损失。那么,即使数组中只有一个对象,总是写:myFunc(["arg"])会更好吗?你对此有何看法? 最佳答案

javascript - 当存在全局标志时,为什么 String.match() 不产生预期结果?

这个问题在这里已经有了答案:JavaScriptregularexpressionsandsub-matches(2个答案)关闭9年前。我正在尝试这场比赛'/links/51f5382e7b7993e335000015'.match(/^\/links\/([0-9a-f]{24})$/g)得到:['/links/51f5382e7b7993e335000015']当我期待的时候:['/links/51f5382e7b7993e335000015','51f5382e7b7993e335000015']在删除全局标志之前,我没有运气,我认为这不会影响我的结果!移除全局标志后,'/lin

正则表达式 : Match text NOT part of a HTML tag

我真的想要一个在node.js中可执行的正则表达式(所以没有jQueryDOM处理等,因为标签可以有不同的嵌套)匹配所有不是HTML标签或部分的文本它分成不同的组。例如我想匹配"5","ELT.","SPR","","plo","Unterricht",""," "和"plo"来自那个字符串:5ELT.SPR pioUnterricht  pio我可以保证标签中不会有“>”。我找到的解决方案是(?)[^>,但这在node.js中不起作用(可能是因为前瞻?它说“无效组”)有什么建议吗?(是的,我真的认为Regex是正确的方式,因为html可能以其他方

javascript - 函数式 JavaScript : good practice to avoid argument mutation?

这是一个相当笼统的问题。函数式编程提倡这样一种想法,即程序是关于通过函数转换数据的,应该避免突变(除了可能在函数内,函数被视为抽象的基本单元)。但是在这个程序中:functionfoo(bar){bar.k1="bananas";returnbar;}varo={k1:"apples",k2:"oranges"};varp=foo(o);外部变量o在foo中发生了变化,因为bar是对o的引用,最后,o===p(它们引用同一个对象)。但功能范式更希望p是新数据。显而易见的解决方案是克隆参数(例如使用下划线/lodash的_.clone):functionfoo(_bar){varbar=

javascript - 路由、通用应用程序(Nodejs、React)、错误(0、_reactRouter.match)不是函数

我无法修复这个错误...我启动服务器,一切正常,因为我刷新localhost:3000然后它告诉我一个错误:TypeError:(0,_reactRouter.match)不是函数我已经安装了“react-router”:“^4.0.0”importExpressfrom'express';import{RouterContext,match}from'react-router';import{renderToString}from'react-dom/server';importReactfrom'react';importroutesfrom'./routes.js'varapp=

javascript - Node : Good way to write Multiple API Calls in serial

是否有更好/更漂亮的方式来调用多个API(如我的示例所示)?varrequest=require('request');request('http://www.test.com/api1',function(error,response,body){if(!error&&response.statusCode==200){request('http://www.test.com/api1',function(error,response,body){if(!error&&response.statusCode==200){request('http://www.test.com/api

javascript - 尽管设置了@match 和@include 设置,Chrome 用户脚本仍会在所有页面上触发

我使用match来限制我的脚本只在一个域中运行,但chrome在每个域中运行它。我尝试了@include和@match,当我尝试安装它并在所有网站上运行时,它显示“访问所有网站上的数据”。如何在chrome中将用户脚本限制为一个域?元数据与此页面相同:http://www.chromium.org/developers/design-documents/user-scripts我的意思是://@matchhttp://*.google.com/*//@matchhttp://www.google.com/* 最佳答案 Note:th

javascript - 使用 Good 在 Hapi.js 中记录请求和响应负载

我正在使用Hapi.js为我的移动应用程序实现RESTfulAPI。我集成了用于记录请求、错误和其他事件的Good。对我来说效果很好。但是,尚不清楚如何记录请求和响应有效负载(JSON对象)。如有任何帮助,我将不胜感激。 最佳答案 这会记录您需要的内容:server.on('response',function(request){console.log(request.info.remoteAddress+':'+request.method.toUpperCase()+''+request.url.path+'-->'+reque

javascript - Google-diff-match 避免显示新行?

我正在使用差异匹配http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html显示2段html之间的差异。问题是脚本将新行显示为¶有什么办法可以设置不显示吗?现在我只是删除所有\n和\r的实例,但这听起来不太好 最佳答案 正如您在文档中所见,prettyhtml函数只是开发一些很酷的ui的示例。但是,如果您将函数中的¶(¶)替换为null,该符号将消失。diff_match_patch.prototype.diff_pret

使用 val().match() 方法的 Javascript 正则表达式

我正在尝试使用以下规则验证名为phone_number的字段:第一个数字应该是3,然后是另外9个数字,所以总共10个数字示例:3216549874或者可以是7个数1234567这里有我的代码:if(!($("#"+val["htmlId"]).val().match(/^3\d{9}|\d{7}/)))missing=true;为什么不起作用:(当我将其放入在线正则表达式检查器时显示正常。 最佳答案 您应该使用测试而不是匹配,这是正确的代码:.test(/^(3\d{9}|\d{7})$/)Match会找到所有出现的情况,而test