code: function updateAttrs (oldVnode, vnode) {
    if (!oldVnode.data.attrs && !vnode.data.attrs) {
      return
    }
    var key, cur, old;
    var elm = vnode.elm;
    var oldAttrs = oldVnode.data.attrs || {};
    var attrs = vnode.data.attrs || {};
    // clone observed objects, as the user probably wants to mutate it
    if (attrs.__ob__) {
      attrs = vnode.data.attrs = extend({}, attrs);
    }
  
    var supportBatchUpdate = typeof elm.setAttrs === 'function';
    var batchedAttrs = {};
    for (key in attrs) {
      cur = attrs[key];
      old = oldAttrs[key];
      if (old !== cur) {
        supportBatchUpdate
          ? (batchedAttrs[key] = cur)
          : elm.setAttr(key, cur);
      }
    }
    for (key in oldAttrs) {
      if (attrs[key] == null) {
        supportBatchUpdate
          ? (batchedAttrs[key] = undefined)
          : elm.setAttr(key);
      }
    }
    if (supportBatchUpdate) {
      elm.setAttrs(batchedAttrs);
    }
  }
docs: /*