这一季主要分析parseHTML的正则
方法/步骤
1
这段代码是一个条件语句然后返回结果这里的rsingleTag正则到底什么意思?我们用编辑器查找功能
2
找到代码rsingleTag在62行定义了内容这里的// Match a standalone tag英文是什么意思呢?就是匹配一个单独标准的html标签
3
rsingleTag 就是reg_single_tag的简写,就是正则_单独_标签看看这里的正则这里咋看上去是匹配带有<> 符号的代码可以是里面w + s ? : \1 $ () / 这些又都是怎么意思呢翻手册:w就是任意字母或者数字 \w+ 就是一个或多个字母或者数字\s就是空格的意思*是任意多个的意思\s* 任意多个空格的意思\/ 就是匹配/ ?是可能有,可能没有\/?是可能有/,可能没有/()是就是分组,一组一组的这里两个() 就是两个分组?:翻了一下文档是非捕获,就是在分组里面不要捕获了\1就是匹配到的第一组,比如 比如
4
在回到parseHTML函数里面应用rsingleTag这里parsed 显示是获取到一个匹配正则返回的一个数组后面return 返回的context指针指向比如body creatElement 就是在body下面建立一个元素这个元素就是parsed[1] 可能是div,可能是span
5
这里举个例子,更清楚 var data ='
'; rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/; console.log(rsingleTag.exec(data)); console.log(RegExp.$1);结果是看看浏览器运行Array [ '', 'div' ]div6
这里在举个例子,可以看出创建的单个标签是div或者span返回return context. createElement(parsed[1]) 这里就很好理解了为什么是parseHTML();
上一篇:5种健康的家庭习惯
下一篇:怎样激发幼儿的认知兴趣