20160107

学习fastClick的编写

  1. 插件编写一般框架
1.;(function(){
2. // 内部代码
3.})();

解释: (function(){}) 中间定义一个匿名函数,最外层的括号返回一个匿名函数,接下来的空括号立即执行返回的匿名函数。
作用:不会污染全局变量,自动执行。

  1. 开启严格模式
1.'use strict';
  1. 复习 && 和 || 的使用
1.options=options||{};

解释:&& 遇到假则返回,|| 遇到真则返回。(&& 若全为假返回最后一个假,|| 若全为真返回最后一个真)
这里的代码如果传入了 options,则赋值为传入的值,否则赋值为空对象 {} 。
javascript运算符中:0,”“,null,false,undefined,NaN 会被判定为 false。
所以,就像

1.if(0){console.log("aaa")};  // 不会打印值
  1. 判断当前在使用的chrome版本

从用户代理字符串中获取

1.console.log(navigator.userAgent);
2.//Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
3.console.log((/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]); // 47

匹配Chrome 字符转义 \ 查找元字符本身时使用。这里查找字符 / 用分组来捕获版本中的数字
如果前面匹配没有结果,在捕获第一个分组会出错,所以写 || [,0] ,在这种情况下,值将为0。

所以写,判断chromeVersion不是0,继续执行。

1.chromeVersion=(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1];
2.if(chromeVersion){
3. // do something
4.}