jquery的 函数parseHTML分析第一季上下文指定
1、首先要找到jquery的函数parseHTML在哪个位置parseHTML函数在483行总共代码是20行代码

2、看看官方给的文档,是怎么解释这个函数的// data: string of html// context (optional): If specified,// the fragment will be created in this context, defaults to document// scripts (optional): If true, will include scripts passed in the html string从上面的英文的意思翻译成中文看看是什么意思//数据:html字符串。//上下文(可选):如果指定,//片段将在此上下文中创建,默认为文档。//脚本(可选):如果为真,将包括在html字符串中传递的脚本。从翻译来看,表示的意思,也是比较含糊的可能作者自己知道意思,可是到了菜鸟这里,就一头雾水了

3、看看第一段和第二段代码讲什么?第一段是申明一个parsed变量没有给它赋值第二段是一个条件语句 条件是如果参数data变量不存在,或者data的不是字符型,将返回空值这些代码无疑告诉我们主要是判断参数来的,如果外面调用parseHTML第一个参数不给的话,最终就没结果,只会给个空值比如我这里调用var aa = parseHTML(); 这里的aa就只会是个null空值

4、在看接下来这段代码,也是条件语句判断第二个参数传递过来的contextcontext英文的意思应该就是环境,上下文这里条件是判断是否环境是芟鲠阻缒bollean类型bollean是布尔值的意思这里要疑问什么是bollean?bollean大家很熟悉了,值无非就是true或者false通常用来做if判断,是真,是假,这两种情况判断但是这里为什么要这样呢?在看看里面的代码能否给个解释里面的代码是 scripts = context;这是什么意思?scripts是第三个参数,这里是把环境context 赋值给了scripts ,scripts的意思是脚本,在国外脚本有剧本的意思所以javascript有点像是写程序,就像写剧本那样让人轻松在看看后面的一句代码是context = 0;显示着是一种把值传出去之后,把context 设置为0

5、看看这段代码,很有意思,如果不熟悉这种表达式的,不一定一下子看懂这里其实也是相当于一个条件语句,我们改一下if(context){ context = context;}if(document){ context = document}这下清楚了,如果环境变量context为真显示,这里context还是保留自己的这个环境变量如果document为真,那么context的环境变量就一下子指向document这样的窗口总文档了,等于指向层的最外围呢

6、这一段代码官方加了一段注释,可能担心我们不理解吧// single tag 意思是单个标签,难道是处理单个标签的意思吗看看这段条件判断如果成立,然后就是这个函数返回这里的条件判断什么呢?parsed = rsingleTag.exec(data)这里用到正则,需要到前面的代码找到rsingleTag这个正则这一季代码分析到这里,因为涉及到正则比较复杂,在下一面一季就会更多分析
