发表于: 2017-04-02 21:50:32

1 1261


今日完成:

继续感冒中,晚上在看概念性的知识;了解了js键盘事件、传参、正则表达式等。

明日计划:

学习任务二

遇到的问题:

看了正则表达式,不是完全明白。大概意思就是定义和匹配一组特殊的字符串,也就是定义规则。明天多看下,写几个demo多理解下。

收获:

1.了解了键盘事件,需要注意,

IT和Chrome 浏览器使用 event.keyCode 取回被按下的字符,而网景、火狐Opera 等浏览器使用 event.which进行取回。

2.学习正则表达式(RegExp)。

创建正则的语法:new RegExp(pattern, attributes);

pattern是一个字符串,指定了正则表达式的模式或其他正则表达式。

 attribute是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。

其主要有三个对象方法:

1.test():用于检索字符串中的指定值。返回值是 true 或 false。

2.exec() :检索字符串中的指定值。返回值就是检索的值(我的理解是有多少就会返回多少)。如果没有发现匹配,则返回 null。

3.compile() :用于改变 表达式。它既可以改变检索模式,也可以添加或删除第二个参数。

3.重新学习了数组乱序,也就是洗牌算法,把数组随机。

我最开始的想法使用Math.random() ,方法如下:

function shuffle(a) {  return a.concat().sort(function(a, b) {    return Math.random() - 0.5;
  });
}

但是用Fisher–Yates Shuffle的方法网络评价是最好的,其原理是遍历数组元素,将其与之前的任意元素交换。可根据遍历的方式(从前往后,从后往前),采取两种方式。明天做demo学习下。




返回列表 返回列表
评论

    分享到