发表于: 2017-05-19 23:41:11

1 1037


1、补习了任务2的学习资料,正则表达式(在代码中常简写为regexregexpRE),简单来说就是js中进行文本检索和替换的语法。

1)、语法:/正则表达式主体/修饰符(可选)

2)、实例

var patt = /runoob/I  

//  /runoob/i  是一个正则表达式;runoob是一个正则表达式主体 (用于检索)i是一个修饰符 (搜索不区分大小写)

3)、使用方法

JavaScript 中,正则表达式通常用于两个字符串方法(检索位置和替换文本) : search() replace()

4search() 方法使用正则表达式

var str = "Visit Runoob!";

var n = str.search(/Runoob/i);  //输出结果为6i表示不区分大小写。

注意:也可使用字符串作为参数,会转换为正则表达式,即第二段代码等同于var n = str.search(“Runoob”)

5replace()替换

使用方法同上,结构中增加一个新替换的字符串,即var n = str. replace() (/Runoob/I,”hello”); var n = str. replace (“Runoob” ,”hello”)

6)修饰符

i:见上。

g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m:执行多行匹配。

7)使用 RegExp 对象- test()

var patt = /e/;         //定义检索对象为字母”e”

patt.test("The best things in life are free!");  //被检索文档中是否有检索对象,有返回true,没有则返回false。等同于/e/.test("。。。。")

8)使用 RegExp 对象- exec()

/e/.exec("The best things in life are free!");

该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。如有则返回检索对象字母”e”

9)查找范围定义

包括方括号[](例如:[a-z]查找任何从小写 a 到小写 z 的字符。)

元字符(特殊含义的字符,例如 \d  查找数字。)

量词(例如n+   :匹配任何包含至少一个 n 的字符串。/a+/ 匹配 "candy" 中的 "a""caaaaaaandy" 中所有的 "a"。)

需要记忆的东西比较多,大概看了一遍,在后续应用中逐渐查找熟悉后掌握。

2、有限状态机

好像网上的资料不多,参考链接:http://www.ruanyifeng.com/blog/2013/09/finite-state_machine_for_javascript.html

特征:状态总数(state)是有限的;任一时刻,只处在一种状态之中;某种条件下,会从一种状态转变(transition)到另一种状态。

可以看到,有限状态机的写法,逻辑清晰,表达力强,有利于封装事件。一个对象的状态越多、发生的事件越多,就越适合采用有限状态机的写法。

后面还提供了一个函数库,ms应用起来更加简单易懂。

个人理解既是元素触发某种事件带来的状态变化,然后封装应用。

3、初写了任务4的两个静态网页,没有加JS,就暂时不放上来了。之前一直对任务游戏的逻辑不太清楚(没玩过游戏),看了一期《饭局的诱惑》当中明星的狼人杀对战,还挺有意思的,游戏的玩法也比较清楚了。

困难:有限状态机的参考资料比较少,如果就是以上面的资料为准,是完全自己编写还是借助函数库比较好呢,请师兄指点下,谢谢。

收获:正则表达式可以应用在任务2,输入数字范围那里。自己之前虽然加了几个判断条件,但是现在来看还是不够完善,新技能get。有限状态机暂时比较懵,明天结合任务实际再看一下。

计划:根据师兄指点,后续还是继续每天啃一点官方推荐的课本,再结合慕课网的一些视频综合学习。同时明天继续任务4



返回列表 返回列表
评论

    分享到