code: function(_fn){
              var _ret = [],
                  _isNotAllNode = false;
              this._$forEach(function(_node, _index){
                  var _res = _fn.call(this, _node, _index);
                  if(!_isAcceptedNode(_res)) _isNotAllNode = true;
                  _ret.push(_res);
              });
              return _isNotAllNode ? _ret : $([])._$add(_ret);
          }
docs: 相当于ES5的Array#map, 当返回值全部是节点类型时，返回$NodeListchainable, 否则返回标准结果数组(此时chainable不能)
  
  example:
  ```javascript
  // 此时返回Array : ["li", "li", "li".........]
  $("li")._$map(function(_node){
  return _node.tagName.toLowerCase()
  });
  // 此时返回 $NodeList: 即所有节点的下一个兄弟节点
  $("li")._$map(function(_node){
  return _node.nextSibling
  });
  ```
  注意callback中传入的节点是裸节点，而不是包装后的_$$NodeList
  
  @method CHAINABLE._$map
  @param  {Function} _fn 遍历callback，接受两个参数，当前遍历到的节点和节点下标
  @return {_$$NodeList}