0
点赞
收藏
分享

微信扫一扫

从vue源码中学到的一些总结之标签保留字的判断

花明 2021-09-21 阅读 47
/**
 * Check if a tag is a built-in tag.
 */
var isHTMLTag = makeMap(
  'html,body,base,head,link,meta,style,title,' +
  'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +
  'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' ....
);

var isReservedTag = function (tag) {
  return isHTMLTag(tag) || isSVG(tag)
};

// makeMap的具体实现
function makeMap (
  str,
  expectsLowerCase
) {
  var map = Object.create(null);
  var list = str.split(',');
  for (var i = 0; i < list.length; i++) {
    map[list[i]] = true;
  }
  return expectsLowerCase
    ? function (val) { return map[val.toLowerCase()]; }
    : function (val) { return map[val]; }
}

在日常的开发过程中,类似于这种固定的做法是 采用数组存储,然后使用indexOf或者includes查找关键字,其实并没有vue中这种方法查找高效。
举报

相关推荐

0 条评论