00:00
数组的方法啊,这个方法我们也是暂时了解一下,用为它没有那么多啊,让我们了解一下,这叫做一个for each for each,它是我们这个数组的一个这个方法,数项的方法,这方法是干嘛的呢?我们说了,诶一般我们都是什么呀,都是使用这个for循环去什么呀,去变列数组啊,一般我们都是使用负循环去辨异数组,那么什么呢?呃,GS中哎还为我们提供了什么呢?提供了一个这个方法,哎用来干嘛呢?哎,用来这个演列数度啊那什么方法呢?就是我们说的叫什么呀,叫做一个for each啊for each,什么for each我们来看怎么用啊,还是拿咱们之间那个数组举例子,我把这数组呢给粘过一个来,CTRLCCTRLV,我还是先来干嘛呢?先来创建一个这个数组,那我们之前去遍历的话,我都是什么呀,写一个。For循环,然后去变历对吧?哎,那么什么呢?我还可以调用我们这个数组的ara,点一个for each方法去变历啊,For each方法变历大家注意用之前呢,我们先来注意一下,它写一个兼容性的问题,哎,所有浏览器都是彩色的,唯独有IE,它是一个半拉蓝半拉灰的,它写的什么呀?IE9以上,换句话说for ie8和以下的浏览器都是什么呀?不支持的啊,不支持的,所以这里边我们来说一下,所以这个方法也是为什么说用的没有那么多的一个原因啊,我们说这个方法只支持我们什么呀?IE8以上的这个浏览器,也就是IE8实际上是干嘛呀,不支持的啊,I8是不支持的啊好,那这块我们来看一下。
01:42
嗯,写了一个这个for each,那这for each我们来怎么用呢?我们来说一下啊,我们这个for each这个方法需要一个这个函数作为参数啊,需要一个函数作为参数,什么叫函数作为参数啊,来我这写一个来一个什么呢方式,来一个f fun,我这不定一个函数啊,你要将什么呢?将这f fun作为参数给它传进去,哎,将这个函数作为参数,注意我这能不能传F因N圆块啊,那圆块是不是传反回值啊,反应值没有,实际上你这样传就相当于传了一个安点范的,所以注意要传一个函数,但是一般呢,这种函数我们不会这么传,因为这么传呀,你是不是又在这个全局作用域里创建这么一个函数啊,没有必要,一般我们都怎么传呢?直接在这来一个方式来个什么呀,是不是匿名函数啊,哎,直接在这里边传一个匿名函数,作用是一样的啊,现在我一保存走你。
02:42
诶是不是没有什么变化呀,哎,没有什么变化,但是这里边我们来看一下啊,那这传个函数作为参数,这方法它是怎么去变历的呢?那我们先来看看,那既然我传了一个函数做为参数,那你说这函数它掉没掉,诶我们是不是看了呀,cancel.log一个这个hello,随便写一个,我们先看它掉不掉啊,先不看怎么掉的,一保存是确实掉了呀,哎,确实掉了,而且我们来看这个函数我掉了吗?我没掉吧,我只是声明了一个函数吧,哎,我们只是声明了一函数,那这个函数怎么说像什么呢?像这种函数什么呢?由我们创建,但是什么呢?不由我们调用的,我们什么呢?我们称为叫做什么呀?哎,叫做回调函数啊,回调函数我们没调谁调的。
03:35
诶,浏览器调的,或者说在这函数内部调的,我们简单理解就是什么呀,就是由浏览器去调的,我们干嘛呀,我们只是把这函数给浏览器传过来,然后至于怎么调由谁决定啊,由浏览器决定,这能理解吧,所以注意啊,这函数是我们创建的,但是什么呢?不由我们去调啊,不由我们调,诶那这传完了以后,我们再看这函数它掉了几次呀,几个哈啊1234。
04:01
五是应该是五个,Hello是吧,函数执行了这块应该是执行了五次,诶为什么执行五次,12345是五个元素啊来我删一个,这一保存走,你是四次了,来再删一个。保存走你是三次呀,三次,所以这边我们来说给他改回来,我们说什么呢?我们说我们这个。数组中有几个元素,我们这个函数就会什么呀,执行几次啊,数组中有几个元素,函数就会执行几次,执行有五个元素就执行五次,有十个元素就执行十次,有一个元素就执行一次,也就说这函数它会执行什么呀,多次诶,但是这就看来有问题了。他执行1万次我也不管,执行1万次跟我好像没什么太大关系是吧,我关心的是什么呀。
05:02
我关心的是。我这边元素是谁吧,我要获取的是这个元素,而不是想这函数执行几次,那么想想这函数是谁掉的呀?是由浏览器掉的吧,那你想想浏览器掉一个函数,它是不是就干着掉的?诶,你说他会不会给我们传进两个参数玩玩啊。咱们是不是可以看看呀,哎,来,我定义一个假设,我就定一个A,我直接来一个cancel.log一个A等于我加上一个A,我们先看看有没有啊,不管他是啥,我一保存走你诶A等于孙悟空,A等于猪八戒,A等于沙和尚,A等于唐僧,A等于白骨精,首先这个A这个行参它是不是的确传十参了呀,十参哪来的呀?是不是浏览器传过来的呀,哎,浏览器传过来,所以注意数组中有几个元素函数就会执行几次,每次执行时我们的什么呢?浏览器会将我们这什么呀,便利到的什么呢?诶便利到的这个元素以什么呢?哎,以这个什么呀,食参的。
06:16
形式干嘛呢?传递进来,每次一个第一次执行的时候,A是谁呀。孙悟空第二次执行的时候A是猪八戒,第三次执行的时候A是沙和尚,每次是不是都是一个元素啊?所以注意啊,浏览器会将便离的元素以食参的形式传递进来,我们可以干嘛呢?哎,我们可以来定义什么呀?定义行参来干嘛呢?来读取这些内容,那你现在来看我这一定义,第一个形塞是不是就A啊?那A是谁呀?是不是就是我这个元素啊?哎,就是我这个元素,那我们来看它是不是只传了一个A呢?
07:00
咱们来看看来一什么呢?来一个B,我要看看什么呀,B有没有吧,来来我这输出一个B保存,咱们来看走你诶。B也有,B是01234,我再来看看C有没有,咱们先不管它是啥,待会研究是啥,我们先看他传了几个参数,看看有没有C。然后清空一下,一保存AC是不是也有啊C有,再看看有没有,有没有D直接来一个D,咱们先看它的数量,不管它的值啊,不管它值,然后一保存走你A。D有没有没有and.find那证明我们这个传了几个参数,三个参数吧,诶所以注意诶,我们浏览器会在我们这个回调函数中干嘛呢?传递哎三个参数啊,三个参数,所以这儿呢,这个D你就不用再去写了啊,不用再写了,所以需要三个就够了,那现在我们来看看这个ABC分别是什么,直接来一个A等于A,我们先看AA,其实刚刚咱们已经看到了一保存孙悟空,猪八戒,沙和尚,唐僧白骨精,这是什么呀?这是不是就是数族里边那个元素啊,哎,就是我们数组里边那个元素,那所以我们来说第一个参数,注意啊,我们只考虑顺序了,你叫ABC,其实无所谓,我们考虑顺序,第一个参数是什么呢?哎,就是我们这个当前,诶正在便利的什么呀元素啊,当前正在便利的元素,你便利到第一个了,就是孙悟空,便利到第二个就是猪八戒,便利到第三个就是什么呀?沙和尚如。
08:37
当你这里边放的是对象,那A就是你便利到那个什么呀,对象啊,是谁便利到谁,A就是谁啊便利到那个元素,所以这块呢,我们叫A呢就不合适了,咱们这样吧,我叫一个名吧,叫一个什么呀,Y6叫值啊,是不是就变利到那个值啊,哎,或者叫A的元素也行啊,Y6Y6等于一个它,但是这名呢,无所谓形态的名呢,想定义啥就定义啥,再来看谁呢?第二个参数,第二个参数是不是我这个B啊,B刚才也好像也比较明白了,01234,这是什么呀?索引吧,哎,索引,所以我们来说第二个参数叫什么呀?哎,就是当前正在便利的元素的这个索引吧,诶索引,第一个元素索引是不是就是零啊,第二个元素索引是不是就是E啊,诶是一个索引,那既然是索引呢,叫B也不合适了,叫一个什么呀?Index啊,索引的意思叫做一个index,那这块呢,其实效果就是一样的啊一样的。
09:37
那再来看谁呢?再来看CC是个什么玩意儿呢?直接一打印,诶一发现什么了,好像是所有的元素是吧?来我们来看它的类型吧,直接来一个type off这一保存走,你是个什么呀?对象对象它是哪个对象啊诶你一看它是不是像一个数组啊哎,数组来我来一什么呢?C等等于A瑞A瑞是谁啊,是不是我们正在变这个数组啊,我们看看它是不是一个啊可以保存处啊处,那第三个参数什么呢?第三个参数就是什么呢?呃,就是我们这个正在变历的这个什么呀,数组你便利谁它就是谁,我便利的瑞,它是不是就瑞啊,所以这我们给它起个名叫一个这个欧比接是什么呀?是不是数组那个对象啊,哎,对象啊好,那现在我们来注意了,这个函数里边我们浏览器。
10:37
给我们传来了三个参数,一个是我们这个value什么呀,正在变的那个元素,一个是index,是我们这个索引,还有一个是OB接,我们正在变的那个那个对象,所以呢,如果你想获取value,你就cancel.log这个谁呀,Value这就是我们的什么呀,哎,这个元素你想获取索引,你就index,但是OOB接呢,相对来说可能就没什么大用了,主要还是我们这个Y6,还有这个index啊Y6和index好,那这个呢,也是一种便利方式,这种方式呢,其实你要用熟悉的话,比我们这个负循环要稍微干嘛呀,要稍微简单一些,你就不用再写什么Y一个I等于零了呀,什么什么乱七八糟的,但是这个东西呢,我们来说一下啊,哎,能理解吧,应该现在诶,那我们来看什么呢?看看外部浏览器,先看看我们这个火狐。
11:23
这一刷新走你可以吧,哎出来了,再来看什么呢?就不看了,那置就是一个,然后看我们这个I f12这块一刷新控制台是不是出来了,诶再来看谁呢?直接IE9。是不是也行啊,再来看我们这个IEIE8是不是报错了呀,对象不支持我们这个for each属性或方法,我们就说了,诶这个什么呀,我们这个for each只在什么呀,IE8以上浏览器中支持吧,所以什么呢?诶IE8及诶以下的浏览器均哎不支持该方法,哎该方法所以什么呢?所以如果需要我们这个兼容什么呀,艾叶八则什么呢?则不要使用我们这个,所以还是用谁呢?还是用这个for循环更靠谱一些啊,For循环肯定没问题,还是使用我们这个for循环诶来便利啊,但是这块呢,我们主要还是讲一下这个方法,这个东西呢,我们开发的时候呢,不推议用了,因为它有这个问题,这里边注意了,实际上我们说了IE7IE6我们我们基本上遇不到。
12:40
都有什么人用了,但是我们现在什么呢?IE8现在和这个chome基本上是我们市场占有率最大的两款浏览器,所以一般我们开发项目呢,还要考虑去兼容什么呀,IE8,那此时呢,如果你采用了一个for意在IE8里完全就完了,就给你报错了啊,就给你报错了,所以这时候呢,最好就不用了,但是如果你不兼容IE巴或者什么呀,你以后做的是什么呀,移动端的什么叫移动端的呀,你这个东西在手机里运行的,那这个就可以干嘛了,放心去用了啊,放心去用好,那这是我们说便利的另一种形式,叫做一个for each我们来。
我来说两句