草庐IT

Java8新特性之lambda表达式

全部标签

javascript - try/catch 表达式中的 var 关键字 : JSLint bug or global assignment?

我注意到JSLint的一个有趣结果在研究codereview题。JSLint提示变量在定义之前被使用。这是生成相同结果的代码的缩短版本:(function(){try{vara=0;throw{name:"fakeError"};}catch(e){a=1;}}());我对JavaScript的理解是上面的代码应该等同于:(function(){vara;try{a=0;throw{name:"fakeError"};}catch(e){a=1;}}());事实上,当通过Firebug运行时,这两个示例都不会导致a存在于全局范围内。我看了一下ECMA-262spec的第12.14节,但

javascript - 正则表达式可选的非捕获组

我是一个彻头彻尾的正则表达式新手,花了好几个小时试图解决这个难题。我想我必须使用某种可选的非捕获组或交替。我要匹配以下字符串:NeuerFilmavon1000NeuerFilmavon1000mitbNeuerFilmavon1000mitbundcNeuerFilmavon1000mitbundcunddNeuerFilmamitbNeuerFilmamitbundcNeuerFilmamitbundcundd我的正则表达式是这样的:varregex=/(?:[nN]euer[Ff]ilm\s?)(.*)(?:[vV]on).(\d{4}).(?:[Mm]it)(.*)(?:[uU

javascript - 带有正则表达式的变量在js中无法识别

我正在尝试使用slush生成模板,我的代码库在这里:https://github.com/NaveenDK/slush-template-generator/blob/master/templates/react-native-app/MediaButtons.js即使模板文件本身运行良好,当我尝试使用slush生成MediaButtons.js文件中的以下行时letmatch=/\.(\w+)$/.exec(filename);lettype=match?`image/${match[1]}`:`image`;当我用slush搭建它的脚手架并且它位于模板文件夹中时,我收到一条错误消息

javascript - 类似 url 的 AngularJS 正则表达式路由以加载不同的 Controller 和 View

我有一个类似的路由,它应该根据参数是否为数字来加载不同的View和Controller。示例:/artists/2应该ArtistsIndexController有一个View/www/artists/index.html/artists/name应该ArtistsProfileController有一个View/www/artists/profile.html理想情况下我会使用类似的东西:$routeProvider.when("/artists/:page",{templateUrl:"/www/artists/index.html",controller:"ArtistsInde

javascript - 查找正则表达式搜索/匹配的结束索引

如果我将string.match()与正则表达式一起使用,我将返回匹配的字符串,但不会返回匹配发生的原始字符串的索引。如果我执行string.search(),我会得到索引,但我不一定知道字符串的匹配部分有多长。有没有一种方法可以做到这两点,这样我就可以获得原始字符串中匹配项的end的索引?我想我可以一个接一个地做(如下),假设它们以不同的方式返回相同的结果,但这看起来很丑陋且效率低下,我怀疑有更好的方法。varstr="Fearleadstoanger.Angerleadstohate.Hateleadstosuffering";varrgx=/l[aeiou]+d/i;varmat

javascript - 正则表达式不允许某些特殊字符

我有以下不允许某些特殊字符的正则表达式:if(testString.match(/[`~,.;':"\/\[\]\|{}()-=_+]/)){alert("passwordnotvalid");}else{alert("passwordvalid");}这是有效的。如果此正则表达式不包含方括号(~,.;':"\/\[\]\|{}()-=_+)内的任何特殊字符,则该正则表达式将接受密码。.我的问题是它也不允许我输入奇怪的数字。我在这里错过了什么吗?提前致谢!这是一个示例:jsFiddle 最佳答案 你有一个字符范围:)-=,其中包括)

javascript - Javascript 的 Java 风格 Set 集合

我需要一个Set,其API类似于Java中的Set。这个实现:http://jsclass.jcoglan.com/set.html需要用到RequireJS,这下需要我的Java脑子绞尽脑汁了。发布一个作为Set功能的函数将是一个很好的答案。或已创建此代码的GoogleSet或其他科技巨头的链接。谷歌倒闭了怎么办?这个名字让我感到困惑,但它有一套。 最佳答案 在我看来,无论java.util.Set可以实现什么,都可以使用简单的javascript对象来完成。我不明白你为什么需要额外的库://emptysetvarbasket={

javascript - 没有大括号的 JavaScript 中的 Lambda 函数语法

我刚刚发现Firefox接受以下(很棒的)语法f=function(x)x+1;f(17)//gives18有人知道这是怎么回事吗?这符合任何标准吗?其他浏览器也接受吗?(我测试了IE8,它给了我语法错误) 最佳答案 这不是标准的一部分。文档位于https://developer.mozilla.org/en/New_in_JavaScript_1.8#Expression_closures_%28Merge_into_own_page.2fsection%29有关于在这些行中添加一些语法或什至更短的标准的讨论。参见http://w

JavaScript 正则表达式 : test and exec

我想获取多行文本中所有图像的URL(无论它包含什么)。这是我的代码:varpattern=/(http:\/\/\S+\.(?:jpg|gif|png|jpeg|JPG|GIF|PNG|JPEG))/mg;vartestResult=pattern.test(str));varresult=pattern.exec(str);如果str等于"http://example.dom.com/-6/x_5eb0916a.jpg",testResult等于true但result为null。为什么?你能帮我解决这个问题吗? 最佳答案 那是因为

javascript - 闭包编译器的正则表达式类型

我目前正在向个人javascript模块添加类型注释,但我目前在尝试键入以正则表达式作为参数的函数时卡住了,但以下尝试均无效:/**@type{function(RegExp)}*//**@type{function(regex)}*/我只得到:WARNING-Badtypeannotation.Unknowntyperegexp我应该在声明中使用什么类型?谢谢。 最佳答案 RegExp对象被注释为ClosureCompiler在外部es3.js.这是一个接受RegExp对象的示例函数。/***@param{RegExp}regex