00:00
好,刚才呢,我们已经给大家去解释了,在这块里面的两把利器,一个是结块函数,一个是什么这块对象,那下面我们就要看这个这块函数和这块对象分别怎么使用,先来看这个函数啊,先来看函数,首先我们要从这里看它有哪些用法啊。来这里面呢,我们分为两个方面去看。大家要知道,一个函数,它可以作为一般函数去调用,可不可以,可不可以?当然可以,这是它最基本的行为。那前面我跟大家说过一句话,叫函数也是对象。那我能不能把它当成对象去用呢?也可以,譬如说这一种用法。此时它还仅仅是个函数吗?明显是个对象呢。
01:03
对不对,什么时候才是个函数啊,加括号调用的时候才能是真正是一个函数的行为,能不能懂。好,那我再跟大家简单说一说文档里面。这一部分再说它作为函数。怎么使用,那作为函数,他还搞123,为啥。参数,参数不一样,它的功能也不太一样。那除了这一个呢,还有一些啊,把它弄小一点啊,弄小一点在这边大家看它。这一边。这一边都是什么,这个我们暂时不学啊,暂时不用管它,那我们就主要管这个,它取名叫什么叫工具。
02:00
可以说举个例子,我们这个多了5.1级,你觉得他要干嘛去了?是不是做便利了,好,有的估计大家能懂,我我举个例子吧,你看大家这个方法啊。这个方法用来干嘛,你说就这这个这个语法用来干嘛的,说判断这一个时差数据是不是一个什么数组,而这个一则瑞是谁的方法。是不是多了伏的方法,也就是他这核心函数对象的方法,对不对,是核心函数作为对象使用的一个方法,我们此时把这个多了福称为一个什么呢?工具对象。它本身是函数,但此时它的角色是不是个对象,既然它取了这个这个名称嘛,那我们就把它称为工具对象,那工具对象里面是不是有个工具方法,有时候我们也称为函数,也没关系啊,1ARA这个大家能懂,其他的啊,后面也会用到。
03:07
好,先从整体上知道。这个多了福,它有两个方面的特性,一个是作为函数去使用,对吧,一个是作为什么对象去使用。什么时候是作为函数使用,加括号调用,什么时候作为对象使用,通过点来去调用它内部的方法。我跟大家说,理解这些东西比你记忆类里面具体是什么更重要。因为这样的话,你手里是拿着刀的啊,不是拿着果实。你拿着刀,你想砍什么就砍什么是吧,但是你你也别瞎砍。好,那作为函数使用,它也根据传的参数不同,有这么四个方面的特点,四个方面的作用。
04:08
我们先别管它里面有什么,我们根据需求来一点一点写。那写到什么时候呢?需要什么我们再说啊,这是一种面向功能需求的一种学习的方式,我们来看一下。我把页面打开。好,看看他的就是什么,第一个点击按钮,显示按钮的文本,显示一个新的输入框,什么意思啊,大家看到,那我点击按钮啊,显示这个输入框里面的这个文本可以吧,这个功能应该是能做的,对不对,那来看着啊。在这个里面呢,首先我们要做的第一件事情,就是我们经常做这样的优势。
05:00
这什么意思啊?刚才不说过一个事情吗?干嘛的绑定什么鉴定,对绑定文档加载完成的监听。也就是说我内部的回流函数里面代码是文档加载完了以后才执行,譬如说我随便写个CRL.log啊,随便写一个这个打印输出立即执行吗?不是,是文档加载完了以后才执行,我问大家,你说我放到外面和放里面有没有区别?有没有有区别,譬如说我在这个下面再打一个加加加,你说这个时候谁先执行加加加减减一减是后执行了,那如果我把它放到外面呢。有区别吧,有区别。啊,OK,好,但实际上啊,对于我们当前情况来说,你写的外面和写的里面对于功能来说是没有问题的,因为我们都是在外面,都是在下面嘛,看得出来吧,那这个语法我们还是来用一下,此时用的是个什么语法呢?
06:17
是不是把多乐福看成什么?首先是说函数调用传的是什么,也就是这个参数是一个什么函数。那就代表当断加载完成后,执行尺什么回掉函数,这是不是它的第一个用法啊,假设是它的1.1的用法能不能懂?能理解吧,啊,要能理解啊。好,那就是它的第一个来下面我们在这个里面去干嘛呢?大家看看要干嘛去要实现这个功能。我们现在不要实现这个功能嘛,是吧,那我是不是要给找到那个按钮吧,是吧,找到按钮看看怎么找啊。
07:08
找到它呗,它会有ID吗?那下面我该怎么办?大家看看多了福括号,那我现在传什么字符串,井号BT,那此时是不是又用到了,把它看成一个函数调用,传一个新的不同的参数啊?那此时用的是它的第二个语法参数,为什么选择器字符串?那现在干嘛去了,如果我传的是一个选择器字符串,它是不是根据我这个选择器找到对应的标签了,但是是返回的标签对象吗?不是返回的是一个什么对象,这块对象,但是这个这块对象里面包含了什么对象?
08:08
是不是标签的动物元素一样?能不能理解内部肯定包含它要包含他最后怎么操作呢?对不对,能不能理解好,那现在我干嘛去点肯是吧,冒号点面写个什么方形,说明它反回来是个对象吧,我是不是调用它的一个方法传入的是一个毁掉函数。对不对,此时再给他写一遍,因为这个比较关键啊,关键的我就写,关键我不写绑定什么。点击事件监听对吧,能不能懂我好,那在里面去做什么呢?我们来看我们现在干嘛去显示按钮的什么文本内容,也就是说,呃,也就是说我这个按钮按钮的文本内容是吧?那就不是最终显示的是这个值吗?
09:07
是吧,那我应该怎么做了?此时这个地方我们说这个是不是动物事件的回调函数,它里面有一个非常重要的关键字叫什么?This,那我请问大家this是什么?对呀,事件围绕函数中的历史是谁?是不是发生事件的?那个什么动物元素吧,也就是说它是一个结块对象,还是一个动物元素对象,动物元素对象这个是不会变的,知道吧,事件回调函数的力是谁,跟你用不用没有关系。
10:00
能不能理解?好,那记住了啊,现在Z意实际动面实际上是不是就是我的一个button,现在当前就是我点击这个button对不对啊,我还故意的写个标签吧。看到吧,好,下面我们要得它的文本怎么得,其实非常简单嘛,this.in了HTML是吧,以前我们是不是就这么用啊啊OK,这个当然自然也可以,对吧,乐一下是不是就可以。可以吧,可以的,来我们先看一下这个这种方式行不行,诶不是吧。嗯,把其他的先关了啊,太多了,刷一把走,你是不是是那除了这样一种方式,他还有别的方式啊,我得先写了,写了再跟大家说他这么写的。
11:10
还是不行了,来我们来分析一下是什么个意思,那也就是说我们的这一个参数还可以是什么类型的数据。你说我们的参数刚才说过了,可以是函数是吧,可以是不是选择字符串,那这里面说明可以是什么呢?多元素。对不对,能不能理解这个事,你说可以是this,是这意思吗?不是,得看this的值是什么类型。能不能理解啊,那此时也就是说参数如果是断对象,他做了一个什么事情呢。将动对象包装成什么简快对象,那有人可能就说,老师他为什么要包装呢?包装以后就有什么特点了呢?
12:05
包装以后是不是就能够去使用解快对象的方法,是不是?而有人说了,老师这快递上有哪些方法?你怎么知道有HTM这个方法呢?看文档。是吧,文档里面绝大部分都是在描述寄快递象的一些方法,这一片这一片都是包括这里。包括这里来,这里面有没有我们想要的东西,包括这里啊,有没有我们想要的那个方法,哪个是不是这个。对吧。而且我们跟大家说过有个概念读写合一是吧,那现在是读还是写读我传参数没有没有,那怎么样代表去写了,对传参这里面跟大家说一下,这个中括号代表什么,就是这一个参数你可以传,也可以什么不传,你传那就写,你不传那就什么读。
13:15
这样一个方法,一个函数是不是实现了两个功能,读和写的功能,就是读写合一,这个一定要记住。没问题吧,没问题,嗯,行。这样我们就已经能够实现了我们的第一个功能了的前半部分,还有还一个没写,还有一个看看还有哪些啊,我们这个地方除了显示一个按钮的文本,还要显示一个新的什么输入框啊,这就比较麻烦了,要显示一个输入框得干嘛呀,得是不是再产生一个input塞进来呀。这就比较麻烦了,是这意思吧,大概是这个意思吧,能不能懂吗?能懂好,那我怎么样去塞进来呢?怎么创建一个这样的一个标签结构了,是吧,非常简单,这本质上就是个字符串,是不是来看着我它还有这样一个。
14:16
东西。啊1.4,也就是说我的这个参数可以是个什么标签字符串,刚才是个什么字符串,选择器制不出来,那有人可能就说老师他怎么知道是选择器制不出来,怎么知道是个标签制不出来呢?标签有什么特点,有监括号啊。哎,我来去创建,我不要产生一个这个吗?对不对,咔嚓复制过来。啊,你要觉得这个不行,那你改一个可以吧,好,我做了以后在内层里面啊,大家看到他做了个什么事。
15:01
创建标签对象并封装成什么就开了,有时候有人老师可能就问了,老师我是为什么每次都是封装为结块对象。因为你想还记不记得我跟他说过,执行结块核心函数返回的是什么,永远是结块对象,那你说我这一个执行有没有反馈对象?有没有有,只是我用了吗?没有用而已,我一定要用吗?不一定嘛,对不对,能不能理解啊,不一定要用啊好,那下面我有了它以后,这是一个结块对象,我们现在要干嘛去。把这个对象,这个对象现在这个页面里面吗?存在内存里面,是不是还没有关联到页面上去,也就最终我是不是要想办法插到这个里面来。那插到这个里面来得往哪插呢?是不是插到这个div里面去。
16:03
能不懂,好,这个时候我们去找一下它里面的API啊,因为大家不太熟,所以我直接就给大家找找到位置好吧,这里面有一个东西叫什么啊to什么意思,添加到哪里去。为什么说它的那个文档比较好用?首先它的文档分了很多模块,不同的模块有不同的方法,我们找到这个方法以后,有这个方法的说明描述,有对参数的说明,有实例,这个实例非常关键,因为有的时候你看这个说明,你知道怎么用吗?不一定对吧,但是看着这个实力我就大概知道怎么用了。能不能理解啊,所以一般情况下,其实我不太读这个东西,只有我看看这个代码,看不太懂的时候,我就读这个东西,能理解吗?好,我们来看一下,我就不再去大太看盘,大家下去看来看这里,这里面有一个P标签,有两个div嵌套,Div看不看懂啊,看不太清楚,我就可以把它搞大一点。
17:12
能看懂了吧?好,下面看来做什么还是什么。呃,这一个是括号。P,他关键这个用法跟我们那个什么不太一样吧,我们是创建一个新的,他是不是先找到一个,那但是没关系,反正最后是不是都得到了这块对象。最终a to里面传什么?传的是什么?是不是选择器?这是个标签选择器,找到的是不是这个div,应该说找到了两个div。这是两个平行的D,看到吗?好,最终的结果是什么?大家看到看不看清楚最终的结果,也就是说他先找到这个P标签,接着把P标签塞到各个div里面去吧,那各个div一共匹配了几个,两个,那是不是塞到这两个里面去,能不能看到?
18:16
能,你看我们该怎么做。看一下啊,我们该怎么做,那我们现在是不是在内存里面产生了一个input,产生了一个BR,最终我们要把它插到哪个里面去,Div里面去,这里面是不是就一个div。是不是,那你说我现在写什么,解什么方法,A panda还是a panda aend to,传什么是不是div这个标签名呢?最终它还是个选择器,字符串码找到的是这一个div最终是不是插到这个中间来了。
19:01
能不能懂,能理解吧,要能理解啊好,我们现在就来看一看,看看是不是这样的算。走啊,还没点确认,没点确认,那个最后的执行了吗?没有走,你有没有有了吧,是不是都有了,没问题吧,没问题。那现在我们就把它作为大嘎达,它作为一个函数的四种使用方式都跟大家说一说,其实它的文档里面也是有说明的。来我们来看它的第一个说明,我的这块核心函数可以传什么,Select是什么东西,是不是选择器,是不算,能不能懂,我还可以传什么呢?可以传什么,是不是可以传看到这里啊,实际上是可以去传动物元素的,这个动物元素本来是在页面里面的吧。
20:05
好,除了这个还可以是什么呢?还可以是什么?H天门之上,他干嘛去?如果你穿在H天门之上。它是不是动态的创建那个字符串的标签对象啊,也就是说你传的是这样一个字符串,那你想它是不是内存里面创建了一个input。创建了一个BR。对不对,但是在页面里面吗?在页面里面吗?没有,他们是独立的,是不是在内存里面呢?只有我判断错了以后,是不是才在页面里面,因为你一旦进了页面是不是才能显示出来呀。能理解吧,嗯,好,除了这些还能传什么呢?还能转达或败或back,什么意思?回调?回调不就是指回调函数吗?
21:04
是不是这样一个道理啊,就是这么一个使用。啊。啊,这样我们就把它作为啊函数使用的四种语法都跟大家演示了一下,那第一个需求我们就这样搞定了下面。另外两个需求比较简单,我们来再把它做一下。来这个需求呢,我们可以啊,还在这写或者在比如外写都行啊,不一定要完全说在这个回调函数里面写,在下面写也是可以的,这个没关系啊,我就单独在外面写吧,因为这样的话能够好一点,看起来清晰一点。我们是需求二,他说什么要遍历输出数组中所有元素,那我先得搞个什么数组?数组247不好读了,就这三个,我们要辨定我原生的语法能不能定?怎么辨定for循环形呢?那个数组有一个什么方法可以辨定来着?For is,但是啊,我们现在不是用的原生的语法。
22:18
啊,我们可以用什么呢?来看一下啊,因为这个放放的比较大,所以它跑到这里来,它是个牛市布局啊,来找到他的工具,在这个工具里面,它就有一些什么呢?数组的操作和对象的操作,这里面就有一个什么一起一起便利,谁去他这里面写的object,看到他便利什么东西。便利对象或者什么数组能不能便利数组可以?那我们怎么用呢?看着这个不就得了吗?一葫芦画瓢嘛。
23:00
来多了,浮点什么一起传什么,传两个参数,第一个速度,第二个回调函数,这个回调函数什么时候调。它是怎么个调法?那在做调瓦之前,我们先问一下这个参数,来先看一下参数,这个I代表的是什么呢?Index这个名字取的不太好啊,I叫index,这N呢?嗯,这个取的名字吧,应该叫element会好一点。嗯,数组里面是不是很多个元素,也就便利,怎么变利的呀,变利不就是一个一个拿出来呗,每拿出来一个就会调用一下这样一个回流函数,并且把它的下标和它本身的值给它传进来,有没有看懂?来,我们来写一写,大家看啊,首先啊,是多了福点什么一起传什么,第一个参数是什么数组,第二个参数回调函数,回调函数的第一个参数是什么?Index,第二个函数item item什么意思?是某一个元素啊,元素老师,元素你不应该用element吗?但是用element容易产生歧义,能理解吧,总感觉像一个什么动元素。
24:30
我说老师你这也搞得太太精准了。要有洁癖。这里面我们就用到了作为对象使用的时候,去调用它其中的某一一个方法叫什么一起。我们一定要知道我们再用了什么语法,那现在我是不是可以打印输出一下,看一下对不对啊是不是啊index和什么it,那应该输出什么呢?输出0214什么二七对不对,如果输出是这样的,那就说明是没问题的,来给他这一把,给他一刷走你是不是呢。
25:24
是。没有问题。好,我们再举一个作为对象使用的例子来看一看,这个是一个什么tri,用来干嘛的呢?这个应该知道什么意思,去两边的空格,也就是说拼说我握了一个str,一个字符串是吧,左边有空格,右边的空格中间啊可以多写几个空格啊,哪一个啊,MY硅谷好,大家看啊,大家看着。哇,好像字符串本身就有催眠方法吧,有没有?
26:02
大家看一下。啊,这个还看不出来是不是。看不出来怎么办,左边。加一些串是吧,在什么右边加上,你看不出来到底左右两边有没有空格啊,你这样不就看出来了吗。没弄吧?来说。空格去掉没有去掉,去掉了,那好了,除了用原生的方式,我们还可以用什么呢?怎么用?多了福作为一个对象,还有一个方法叫什么train,传什么str。可不可以啊,可不可以还是看不出来。啊,还是看不出来啊,得必须得保证看出来啊。
27:03
你不能。自己想一下是这样,就这样可以吧,可以。啊,有人可能就说老师原生的都有是吧,这也有,那这个方法有什么用是确实啊,你说这个方法对现在来说基本上没有什么太大用处,但是我们要要的是通过这些例子让他明白这个道理是最关键的,也就是说它多乐福作为一个函数有几个方面的功能,两个方面是不是一个是作为什么函数调用,一个作为什么对象调用。没问题,作为函数调用,又有四个方面不同的功能。是根据什么来判断的?根据时参,根据参数的类型来判断。这种整体的思想大家一定要有,你先有整体的思想,再去说它细节的语法。
28:10
好,这样我们就通过这三个功能需求呢,来去把这几个方面的语法都跟大家说了,说啊我们的目标就是让大家看清楚多少福它到底有什么功能。其实上我们现在还没有去做真正的一些业务功能啊。
我来说两句