parseNth

此函数用于处理子元素伪类的表达式:

         var exprs = [
            "3n+2" ,
            "22",
            " + 1",
            " - 4 ",
            "-n",
            "3n",
            " odd ",
            " even "
          ]
          var parseNth = function(expr){
            expr = expr.replace(/\s/g,'');
            var a =  (expr === "even" && "2n0" || expr === "odd" && "2n1" || !/n/.test(expr) && ("0n"+expr) || expr.replace(/(^|\D+)n/g,"$11n") ).split(/n/);
            window.console && window.console.log([a[0]|0,a[1]|0])
          }
          var i = 0, expr;
          while(expr = exprs[i++]){
            parseNth(expr);
          }
原文地址:https://www.cnblogs.com/rubylouvre/p/1996175.html