00:00
好,下面我们要回要进入一个比较大的一个一个主题啊,就是几块插件。啊,这个这块插件呢,啊,首先啊,我们要知道如何来为为我们的这块扩展插件。啊,接下来我们去看一下常见的一些这块的插件是什么啊,给大家演示几个啊,并不是说把所有的插件都跟他演示,这块的插件很多啊,不可能每个都去演示啊好,我们先来看一下,如插件到底是如何扩展的是吧,如何定义的。啊,就剩最后一个了啊,这个里面。啊,又看到这个东西了是吧?嗯。来。看它在这里,这边有一个什么插件机制。
01:01
它这里面呢,有两个写法,看到有两个写法,一个是这么写,那这么写实际上应该怎么写,我平常肯定不会这么写,我要写的话肯定写多了福点FN点什么extend,这一个用来干嘛的呢?用来扩展啊,大家他写的是扩展j carry元素集。来提供新的方法,什么东西哦,那到底是扩展了谁呢?啊,扩展的是我们的结块对象,扩展的是结块对象。能不能懂,就让我的那个结块对象提供一些新的方法,比如说举个例子,看它的这个,它相当于给结块电提供了几个方法,一个check方法,一个什么on check方法。那这两个方法,我这我能不能这么调呢。我能不能这么吊?可不可以?
02:00
这是几块对象。这是结块对象吗?是吗?不是啊,这哪是结块对象,我刚刚说了,这个是扩展结块对象的方法,那这个方法肯定不能这么调,你得这么调。你得这么亮。能不能懂啊,OK,好,还有一个。好,这里面就要说了,我跟大家说一个事,我们一上来是不是就跟大家去说明,有两个东西啊,一个叫结块核心函数,一个叫什么结块对象是不是啊,一个叫结块对象,一个叫结块核心函数,但是啊,很多人啊也包含这个文档里面,你看他说什么。扩展这块对象本身谁呢?你看着这扩展谁看一下。是不是他呀,对不对啊,这个时候就是挺矛盾的一个事情啊,就是什么意思呢?就是人与人之间在表达的时候不太一样。
03:10
嗯,他就把这个看成是结块对象。但是我就总感觉我我看我包括很多人面试的时候也能发现有有些有些人也是这么表达的,但你要这么表达,那那那你说这个这个返回的又是什么呢?那怎么表达呢。你说我执行它返回的东西,我怎么表达呢?人说那你就表达,它上面不有一个表达吗。这个。他说什么这块原是一反正我就不太认同。啊,至少我们现在这种表达,从语法上面戳它类型数据来说是非常没有问题的。啊,一个是函数对不对,一个是这个是函数法,即使啊只是说我们可以将它作为对象使用法。
04:03
对不对,那执行它返回的是不是这个新的对象啊,那我倒更愿意把这个返回的对象称为结拍对象啊。这只是一个为了能够更好的理解,更好的交流,看你怎么去表达一个中文的一个概念,看这里面啊,要注意一下,有的时候你在跟人交流的时候,可能那个面试官就问你啊,这块对象他可能就是指的这。所以说你要去区别他到底在问什么。好,来我们来看一下,说白了就是它有两种扩展啊,有两种扩展,一个是扩展它的工具方法,就把它看成是对象使用的方法。也就是说我如果扩展这些方法我怎么用啊,假设我要扩展这些方法是不是多了,服点什么面是不是好,那再一个呢,是给这块对象扩展方法,那这方法怎么用啊。
05:14
那我首先得得到一个什么写快对象,假设我写个A是吧,啊不写写一个写个TD吧,接着我调什么去勾,这个调法是不太一样啊,这要要区别开来啊,好了来,现在呢,先把这个搞清楚,我们再写啊,不着急。诶,这里面都已经写一个东西了啊好,我们来看一下,看看怎么去写,按照这个需求做就行,好吧,啊,此时我们要去扩展这块,也就是我们要写个自己的这块插件。该怎么写了?首先你肯定要想,肯定要写成一个JS文件是必然的是吧,那我们写个名字。
06:03
叫叫叫是吧。Mike。我就是个MY,嗯,什么吧。那你什么意思?是不是插件的意思,可以吧,啊可以好了,这公位有一个有一个名,有一个这个。路径。接着还有一个后缀点什么JS,那是我要创建这样一个文件是吧,要创建这个文件在哪创建呢?看一下在这个里面呗,右键6GS几个它走你。这样的吧,好来啊,在这个里面我们去写,大家要记住一个事情,有个什么事啊,你必须保证你是在这筷子后引入对不对。
07:05
是不是因为你写代码是不是基于接库,所以你先要有了接库才有你的插件码。能不能理解,要能理解才行啊好,我在里面去写什么呢?啊写什么啊,你可以您可以啊,可以写个这个,先写个这个再说。啊,相当于把你的那个,把你的实现都给了什么,是不是隐藏起来作用能懂吧,实我写在外面也没有太大的问题啊,只是我习惯了这么做,好,我们来看这个写。看着这个写。来下面第一个我们要去给这个j query核心函数对象来去扩展这两个方法,那他告诉我的怎么扩呀,用哪个。
08:01
来看一下第一个还是第二个了,用的是第二个能看出来吧,能不能看出来,那就是说我要调用什么方法。方法传的是什么?看它,看它地址。是不是传的对象,而这个对象里面包含了什么?是不是所有扩展的方法来写写啊,多了弧点,它有一个方法叫什么extend,传什么对象,对象里面我是不是要扩展四个方法,那就写呗,先来一个面哪一个什么发。接着他这一个方法,一看你就知道这个其实非常简单啊,这怎么写的。它是不是比较返回较小的呀,啊,就说A小于B嘛,是吧。那小于B我们就返回什么返回A吧,返回就小是么?否则返回什么B,这太简单是不是?OK好来下一个啊,下一个max类似的吧,啊哪一个A,来个什么b return啊,把这个拉过来。
09:25
把这个改成什么大有符号是不是就搞定了?好,下面这个稍微难一点点,但也并不难啊,那F干嘛的,是不是就截取左边的空格,我们是不是有一个劝阻方法,但是我们就想那个劝方是写两侧呀。但我就想结回边,首先你得接受一个什么使俊对不对,你的目标是谁嘛?好,这个该怎么做,怎么把右边的那个空格给它去掉,有一个方法叫什么replace。
10:08
就是什么正则,这里面就有正则匹配的问题了,是不是,那首先呢,应该是,是不是要写正则表达式来匹配左边所有空格啊,首先要创建一个正则表的对象,接着啊,那我写了吧,估计大家有的人不太熟了,是吧。替换为什么替换为什么就把空格去掉了,重放这个B什么意思,S吧,应该是应该是S对吧?S什么意思?Space的意思吗?空格可以这么理解吧。我们不有有有一个空格的一个那个按键吗。能不能看到,呃,这是这个代表什么开头,这个加号代表什么,一个或者多个对不对,可以吧,可以,那right train是不是类似的。
11:11
类似的,来trip。搞进来是不是接着这个对了吧,A,好,这个该写什么呢?接着啊,还是去写斜杠S加,但是后面写个什么多了伏,多了伏就以什么结尾是吧,这什么意思,以多个空格是吧结尾。气换,为什么我错,好了,来,现在我们是不是要测验一下,看它好不好用啊,是不是来测验一下啊,我就在这里用啊,来这杯水。一旦引入了我的这个插件以后,那我是不是多了,多了几个方法什么面。
12:00
那我随便传啊,传个三传个五啊,是不是把它打印出来是吧?啊,同时我要搞一下那个点什么max也是三个五。应该输出一个三,输出一个什么五,如果输出三和五,那就对了。也没问题题吧,好还有一个就是我们的left train是吧,来train来,我先搞一个S10G啊,搞个10G等于啊空格空格呃,它硅骨啊,中间也可以有空格,中间空格有影响吗?有影响。可以吧,好,来,我们来看一下这个时候怎么做多了福点耐到去穿水使俊啊,为了能够看出来,你得在这个左侧和右侧加上一些字符,对不对啊,这样就能看得出来他们到底对还是不对。
13:07
能懂啊,最好这里面加空号啊好,下面还有什么train看一下不就知道了吗?好了吧,好来试一下看看对不对刷。对吧。一点问题没有。这就是去扩展啊,接query核心函数对象,它的一些工具方法,那如何来扩展接块对象的方法呢?啊,这个地方我想去给接块添加这里方法,Check war on check wall,这个很牛逼,这个我们我们要做到这个,我们以前必须得遍历。就反选还记得不,你要想实现反选,一条鱼能搞定吗?不能,你是要便利啊,诶我们就希望搞出这样一个方法来啊,能让调用者调用这一个方法就好了。
14:07
这个插件的好处就这样了嘛,对不对,好,那怎么样去扩展呢?啊,上面的这一个是扩展它的方法对不对,这是吧,扩展它的方法,而下一个啊,我们要去扩展什么解query对象的方法,那这个时候它的语法也不太一样了,我们来看一下用的是哪一个。这个你照他用就行啊啊多了福点什么FN,说明FN是个对象吧,这个对象里面有个方法叫什么time来写一下多少福点FN.extend传什么一样,这个写法跟这个是一样的。好,我一共有什么,是不是在三个。
15:03
是吧,这不就这写了吗?啊写写快点,要写要要要要写他是吗?你是告诉我是这样的吗?干啥呢?念了半天,我一说,不念叨,回去吧。说了半天不说了,好,来看一下。啊,这个写结块上写它不都一样的嘛,啊一样的啊好来我们来去切沃啊,切合我实际上我们现在啊,现在要做的事情。啊,我要问大家一句话啊,这一个这条这句话到时候谁来调啊,尽快定下来调好,现在我要去选中所有的,你告诉我我该怎么做。我该怎么做?This,现在谁?你说是动物元素对象还是坏对象?
16:02
啊。谁哪个对象多看,怎么看的呀?你一个函数中的this是谁看谁,是不是看谁来调查,你说这个策划谁掉不,刚才问了一句白问了吗?是不是结块对象,所以我直接就可以去调用什么呢?Proper对不对是吧,接着了check的穿什么处,那下面的其他的什么类似的还有一个什么。Ona wall。就是不选啊,穿什么force啊,最牛的是他。这个该怎么做呢?嗯,这个好,那这一个关键是你如果就像他这样咔,那指定什么值。
17:03
能指定好吗?不能,因为我当时也不知道它里面包含的多种元素都是什么状态,对不对?所以我得去干嘛,我得去便利,但是你一定要清楚现在的历史是谁。你要不清楚这东西没法讲,那谁这快的下。是吧,好,我是这块的,我得去调什么方法就能辨定内部的元素,一方形是这样的吧,好,这是什么呢。我能不能不写东西啊?应该可以吧,我的意思好,这个函数里面是不是又有一个例?现在这是谁好,这个时候就比较用的比较全了啊,OK,这个地方啊,这一个this啊,还是这句话this是外面的this。这快的对象,而便利里面的这是谁,对不对?A是动物元素,你要这个不清楚,那你就白写了啊,我说等会一定要大家一定要清楚,现在你不清楚没关系,但是我讲完以后,大家一定要能知道来干嘛,点直接点那个切吧,是吧,等于非勒列切。
18:31
是不是可以?可以吧,好可以了,以后那我使用的人就无比爽了。啊,怎么个算法呢,大家看它,我们最终不是要去点全选的时候,全选点全部选的全部选吗?是吧,好。来,我们来看一下啊呃,我们首先得给它们去加什么,加点睛听呗。
19:00
这个呗,是吧,点很括号发起,在这里面我是不是要找到所有的什么。是不是这个里面的it,是啊,It是我要在外面取道吧,免得反复取是吧,怎么找到他们。首先它们都是什么?Check box,接着它们的属性,呃,Name等于什么?Items是什么?那我要选做怎么办?叫什么嘛?是不是比以前更简单了?以前我是不是还要传错啊啊那多麻烦,不用传了,下面的跟这个什么类似,把它一改。嗯。
20:00
好,这一个我应该去调用哪个方法,我们来看一下。On check就可以是吧?最牛逼的还是在最后一个。嗯,在下面。这里嘛,那这个我应该是去调用哪个方法叫res check。是不是就可以,嗯,那这样的话,我们的代码就又能进一步简化,嗯,好看一看行不行。中中中。各位。可以吧,啊,没问题。嗯,这样我们就能够去扩展了两个方面的东西,一个是扩展结块核心函数对象的方法,一个是扩展结块对象的方法。
21:00
嗯。这个写法也比较简单啊,照这个写法写就OK了,好,就到这吧。
我来说两句