function isHtml(source) {
var trimmed = source.replace(/^[ \t\n\r]+/, '');
var comment_mark = '<-' + '-';
return (trimmed && (trimmed.substring(0, 1) === '<' || trimmed.substring(0, 4) === comment_mark));
}
我知道代码的意思是判断source是否是html代码,但原理是什么呢?
function isHtml(source) {
var trimmed = source.replace(/^[ \t\n\r]+/, '');查找换行符 制表符 回车符,並且用“”替換
var comment_mark = '<-' + '-';
return (trimmed && (trimmed.substring(0, 1) === '<' || trimmed.substring(0, 4) === comment_mark));
}
trimmed.substring(0, 1) 判斷 第一位是否是'<'
var comment_mark = '<-' + '-'; 應該是 var comment_mark = '<!-' + '-';吧
trimmed.substring(0, 4) === comment_mark判斷 0到4位,是否是‘《-’+‘-’,可能是注射的開頭
如果trimmed不為空,並且 後面的條件,只要有一個成立。就返回true,
原理就是,先将该段内容的回车替换掉,然后,再判断替换掉回车后的内容的第一个里是否含有<或<!--