/**
* 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中这种方法查找高效。