用JavaScript语言完整地讨论了正则

JavaScript022

用JavaScript语言完整地讨论了正则,第1张

亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣。

想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准。

关于正则表达式的教程,网上也有很多,相信你也看了一些。

与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高。

本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面。

如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答。

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

平时都是以对象字面量来初始化js空对象的,即 var obj={} , 只是觉得这样子比 var obj=new Object() 来的简单粗暴,没去纠结其性能不性能的,按两个键就完成的事情我才懒得去敲2个单词呢╮(╯▽╰)╭,何况有的ide还自动帮你成对大括号。

偶尔看到网上有人在讨论,自己就直接在chrome上做了个对比试验,结果如下:

你看,构造方式调用函数既要去找那个方法在哪里,又要执行方法体的内容 balabala, 每次都要这么去搞 自然开销就慢慢的躲起来了。 再回想设计模式里边的单例Singleton,在主要为了使用其对象行为,而不关心实例的隔离状态时,不也是为了省去扭来扭去的开销么。

在掘金上碰到一个有趣的问题 true || false &&false这个结果是啥

答案是 true

why?

最初的结论是:&&的逻辑运算符的优先级高于||

然而最后结论是 短路运算 的结果。

&& : 表达式1 && 表达式2

|| : 表达式1 || 表达式2

又去查了一堆资料,又碰到个奇怪的问题。

再来个问题:

经过与一位Java同事的讨论,最后得出如下结论:

遇到||运算符,先去左边的表达式得出结果,如果结果为true,则不会去执行右边的表达式,则短路运算生效;如果结果为false,则去执行右边的表达式,再去根据两边的结果去执行||运算符

当同时存在多个||时,从左到右,一一执行上述规则。