code: function (sourceBuffer, aNode, tagNameVariable) {
          var tagName = aNode.tagName;
  
          if (tagName) {
              if (!autoCloseTags[tagName]) {
                  sourceBuffer.joinString('</' + tagName + '>');
              }
  
              if (tagName === 'select') {
                  sourceBuffer.addRaw('$selectValue = null;');
              }
  
              if (tagName === 'option') {
                  sourceBuffer.addRaw('$optionValue = null;');
              }
          }
          else {
              sourceBuffer.joinString('</');
              sourceBuffer.joinRaw(tagNameVariable + ' || "div"');
              sourceBuffer.joinString('>');
          }
      }
docs: /* eslint-enable max-params 
  编译元素闭合
  
  @param {CompileSourceBuffer} sourceBuffer 编译源码的中间buffer
  @param {ANode} aNode 抽象节点
  @param {string=} tagNameVariable 组件标签为外部动态传入时的标签变量名