00:00
然后呢,大概我们下边来看看我们的第三个需求了,就第三个需求看怎么来做,有实现这种翻页功能,就实现翻页,这才是这种做这种分页查询最难的一个地方,那我们一块儿来,我们先分析一下,看到底怎么实现,其实你做一个功能,你不是说上来就写代码,其实写代码都是很简单的,你要如果分析透了,分析明白了,写代码就一个写的功夫,知道吧,主要是分析它知道,把它分析明白了,然后呢,解决思路都很明确了,那这个时候你再写的,你别说什么,一做一个功能上来就写,那我们来看看这个,看看这个地方,那我们这个地方将来我们是这将来用户要做翻页的时候,他肯定将来那他可能会切换每日选条路,就默认每日选示十条,那他可能嫌十条太少了,他就选20条或者30条。总之它这个地方,它将来什么,大家看将来这个地方他要选,这应该是个差不多是个下拉列表,那这个下拉列表他要选一个选一个那什么按那我们说他一旦选了,那我们这个列表里边就拿按照它切换的某页显示条数去显示某一页的某一页的数据了。
01:10
就显示这么多条了,知道吧,那将来我们做的时候肯定要给他什么,是不是得加事件啊,得得加试件,切换试件,当他切换的时候,知么触发我们的GS代码,然后呢,向后台发请求去根据条件去查。查哪一页的数据一切换,应该说假如大家现在显示D,每页显示十条,假如切换了,每页显示20条,应该怎么显示?是不是他一千万每人想投入,应该跑上第一页?然后呢,这个每页显示多少条,每页显示20条,那应该说还得向互得发请求,查询所有符合条件的数据,把这个一号传个一,假如我们这个地方假如传个一,然后呢,这个地方是不是就要传20了,这是20,然后呢,后边这些都不用变。还是向后台发这些请求,然后呢,查出来之后还是总条数显示到这个什么总条数的位置列表变历出来之后显示到列表光知道吧,所以将来我们这个地方肯定要做这个地方。
02:11
每次当他什么一切换一号的时候,还是调我们那个函数也可以,只不过传参数的时候,跟我们这个地方不一样的地方,别的都一样,就这个地方传了一个,他选了几给他传几就行,就就给他什么,给他这个向后台发几就行了。然后呢,大家看,这时我们说这是一部分。下边再看翻页的时候,这是切换每页减投入,那他还有可能切换页号呢,现在他看到第一页的时候,他想看第二页的数据呢,那就点这个二。点二是吧,然后呢,他1.2那中这些二大看这些数字应该说都有什么都得加上单击事件。当他一点任何一个的时候,那我就获取他点的是几,获取到之后怎么向后台发请求干什么,还是查询所有符合条件的数据,查询的时候这个配置number就变了,不能写一了,它选了几就写几,那这个配置size呢,那就来获取这个下列列表的值,这个下列列表是几就获取到几,然后呢,这个地方给他传几就行啊,其实大概我们说第三个需求,大家我们经过我们的分析看过。
03:20
这个地方大纲还是这个函数,基本上还是这个函数,就它不管是切换页号,还是切换每页减条数,还是调这个函数,这个函数里边这些代码的话,这些都没变,下边这些都不变。唯一一个需要变的就这俩参数啊。这23PAGE number是几,切换到第几页就几,每I显示条数是几,它选了几就是几,知道吧,所以将来大家看我们说我们要做这个功能的话,我们将来肯定是这样做的,给他加一个视角,加一个改变的视角,给他们都加一个单机视角。他不管切换这还是切换这都会执行我们代码,我们代码干什么,就直接调这个函数就行了啊,那你说老师调这个函数那有问题啊,有什么问题,那一调这个函数,我们现在是这俩是写死的。
04:10
他每次一调这个函数都是查询第一页的数据,每页显示十条,那他切换了,那这个地方就不能写字了。那不能写死大纲,那别的代码大纲都一样,那那我这个大纲,我要想复用这个函数大纲,那我这俩参数是不是是不是就不能写死了,大家能明白这意思吧。那么将来就这,我就给他们都加视角。给咱们加上事件,加上事件将来是吧,他们吧,一触发这些事件一发生,那我这个东西加上事件,假如说加单机事件,你比如说大我这个地方举个例子,假如说单击事件,单击事件,那么将来我们说他一点这的时候,一点这或者一点这一许对吧,当然这个地方说改变的事件,这个地方是加单击事件,你不管加什么事件,只要是他一选这或者一点这边任何一个按钮。
05:03
都会处罚我们的GS代码,那除了GS代码,那假如那我这个GS代码和大卡是不是我就可以在这里边调这个函数了,调这函数是,那调函数的时候你能不能直接调它。对,不能直接调,你要直接调它的话,那这两个参数是写死的,我们现在这个函数知道吗。那写死的,那他每次跑跑到第一页,每页显示十条了,那我们这两个参数的话,我要想复用这个函数的话,这个函数是不是我得改造一下,改造一下,那改造的话怎么改造。这些需要改吗?对,不需要改,后边这些是不是都不需要改,都不要,只需要改这俩就行,改这俩怎么改这俩,这俩数据不能写死了。不能说写死它等于一,它等于十了,那这俩值从哪取呢?谁对这俩值你不能写死了啊,为什么不能写死了,因为调这个函数的时候,他去向后台发请求,然后去查的时候。
06:06
Page number page size,你调它的时候不知道用户要查第几页,第几页数据,每页显示多少条,知道吗?啊,所以说大家这两这两个数据就不能写,那不能写死,那后台又得需要这俩数据。那怎么办呢?在传什么,是不是我们可以在这个地方可以定定义成什么?对,把这俩参数,把这俩数据定义成参数,这个函数的参数。将来谁调的时候,谁给他传过来就行。在这定义参数,我定一个参数一,那P1或者P2都行知道,当然你要建明之意的话,那我就page number一个page置在知道。就是定义成参数就行,那么将来谁需要,谁需要调这个函数的时候,谁传过来。哎,那你说你为啥定义成参数,你定成你你获取从别的地方获取不行吗?那你看你从别的地方获取,你从哪能获取到。
07:06
不定参数,不定义参数,从别的获取,动态的获取都不好获取了,为什么你也不知道他点的是第几页。所以你别的地方就获取不了,再一个你也不知道他这个地方选了几,那你老师不就是找他这个什么下列列表,其实找下列表这个地方可以,但是这些这个培训size他点的是几,你不知道。你也不知道他点的是几,所以在这个地方你无法动脉过去。干什么?就是定义参数,定义参数知道吧,其实大家看这些参数的函数的参数其实是很重要的一个概念,因为大家我们作为编程人员的话,经常会写函数,函数有的时候经常用参数。那这个时候问题就来了,你就比如说我要定一个函数。那我到底需不需要定义参数,到底定义几个参数,这些参数是干什么的?我怎么写这个参数,我怎么我我怎么确定呢?就是这个函数,你可以定义一个函数,把一些代码分成一个函数,然后呢,这个函数,有的时候函数里边经常有一些参数,这些参数到底要不要定义成参数。
08:20
你怎么去想这个事儿啊,所以大家这个思想,这个函数的概念,还有函数的参数的概念,你得能知道,所以这个地方我给大家简单总结一下,简单提一下,这是编程领域当中很重要的一个一个概念叫函数,函数的概念只要是编程语言一定有函数。那我问你那个函数是什么概念,什么叫函数?一个功能一个功能的视频。对,那它的概念就是说,但你你你学过函数,可能你会函数的语法,但什么时候用函数你定能知道,但什么时候用函数,你得知道为什么用函数,为什么有函数这种概念,他肯定是解决某些问题的,就什么情况下我想到能用函数。
09:11
啊,这就是函数的概念,你要能认清楚函数的本质,那函数的本质是什么,是这样,它的资料是吧,它的定义是这样,它是这样,它要在编程的过程当中,就如果说为了完成某一些特定的功能啊,一些代码,有一些代,这个有一段用来完成某一种特定功能的代码,如果那到处出现的话,如果很多地方都需要什么使用这一段代码,那么我们就可以把这一段代码封装成一个函数,所以如果如果是有这样吧,我们这个地方,嗯,一段啊,如果这样呢,如果一段嗯呃,用来用来完成什么特定功能的代码啊,特定,如果一段用了完成特定功能代码,如果是到处出现,或者如果反复出现,或者频繁出现,当然这都是翻译过来的,这都是外国人对。
10:11
有,这是外国人的概念,就咱们这起步比较晚,都是学人家的翻译是吧,如果这一段大,如果到处出现是吧,或者这反复出现啊,到处出现,到处需要写这张代码,那这个时候你就可以什么不用写这段代码了啊,你不用写了,你不用说到处出到处写了,你别到处写干什么,可以把它们封装成函数就可以,可以把它们封装成函数,封装成函数啊,封撞成函数干什么,需要的时候直接调就行了。哪儿需要哪,哪儿掉落个函数就行,这时候我们说这个函数的概念,函数的概念,那么函数什么?在写函数的时候,有一个概念叫函数的参数,没有函数的参数叫函数,其实这些都是大家我们应该是接触这些概念,应该在加入SE的时候,大家一开始学方法的时候就有这些概念,你要认清它是,那什么叫函数的参数呢?参数是什么概念?在这为什么要定义参数?
11:18
感受记者需要还是他自己?对,它大概是这样,它是函数里边的一个概念,我们说函数是一段用来完成一些特定功能代码封装起来的,一个一个一个这种代码块,这么一个组织是吧,知道吧,你比如说它就像我们这个分页查询,这个横竖这一段代码就是到处出现,那它是完成一些特定功能的什么功能,我们这个地方完成什么功能?是不是分页页查询市场活动的,就根据条件分页查询市场活动的这么一个功能,我们把它们封装到函数里边。因为到处出现,我又重装起来了,知道吗?这是我们说这是函数的概念,那函数的参数的概念什么意思,是这样说,再把什么,再把一些完成特定封装代码,封装这个函数的过程当中,在封装函数的过程当中,就说在就说你在这个封装或者要编写这个函数的过程当中,在在写这段代码的时候,写函数的时候啊,然后如果有些数据无法确定。
12:21
就是这个函数在你封装的时候,在你写这个函数的时候,写函数的时候无法确定,但是你写这个函数,为了实现这个特定功能,这些数据,你又要用到这些数据。但是在编写的时候,这个数据的具体的值你无法确定,这个时候可以把这些值定义成参数。在写的时候无法确定,就是我们说在什么在这在编写什么函数的过程中,过程中,就在或者叫封装函数的过程中,过程中,然后呢,如果是吧,这这是如果有一些或者有一有一有一个或者多个,或者叫有一个或者多个数据,数据无法确定,无法确定它的具体的值无法确定,在写函数的时候无法确定。
13:16
知道吧,那那怎么办?那我写的时候我又要用这些数据,那你这个数据,你这个函数你就不写了吗?假如我写一个函数,这个函数就是用来完成一些特定功能,我们这个功能就是分分页,根据条件分页查询市场活动,在我写的时候,这个写下这些条件条件条件,然后突然遇到这两这两个参数了,这俩数据我写这个函数的时候无法确定。那什么怎么无法确定?配置number表示你要查询的是哪一页的数据?配置size你要每页显应多少条?我写这个函数的时候,我不知道每页那个看第几,查第几页数据,然后呢,我不知道每页想示多少条。那你不知道你这个函数你就不写了吗。还又得又得,继续往下写去。
14:00
那这个时候怎么办?你说这俩数据没有没有不行,没有你就无法再往下写了。那怎么办?这个时候你可以什么把这些数据无法确定的数据。定义成参数。定数参数怎么电容参数你可以先用着,写函数的时候先用着,虽然这个具体的值没有确定,你先用着它向后台传,不影响你写函数,知道吗?这个时候这个函数就能继续写下去了,那至于这个值什么时候确定,将来有什么函数的调用者把这个具体的值传过来,知道吗?所以说这是我们函数的参数的概念,无法确定,知道吗?就则那则可以,那么可以知道吧,可以放,可以放这些数据,然后呢,定义成函数的参数,定义正函数的参数,那么这些参数叫什么?定义正函数的参数有什么用?就说你这个函数能够继续写下去,不影响你写函数,用到他们就直接用,但是它的值没有确定,它仅仅是个代替,就好像一个变量一样,这个变量值还没有确定,你可以继续写下去,知道吗?
15:15
那么这个值将来真正要向后台发起个要真正查了,那这个值谁来决定,将来有这个函数的调用者来把这个参数值传过来,那么将来将来有啊有函数的调用者,调用者来什么传递参数的具体的值,具体的值讲的。那这个时候再看,那这么这时候又出现两个概念是么?定义,先把这个函数定义成参数,这些参数一般来讲我们都把它叫做什么形式参数对吗?它不是具体的值,它不是实际的参数,就是形式上我代替一下这个数据。
16:00
但是它不行,就就能就是为了能够继续写下去,这个函数知道吧,那这个函数说只是形式上,它将来肯定不能执行,为什么值还没有确定,那什么时候才能执行这个函数调用了,调到时候那调出来调到时候有行参,那你要想让它的运行的话,你得什么给他传实参,这些什么叫传实参,实参叫实际参数,这是我们知这个函数参数的概念。对照我们这个地方就这样,你比如说我准备写一个函数,这个函数的功能就特定功能就是为了根据条件分页探询市场活动,我写的过程当中,突然我要用到配置number,配置size,为什么我要做分页查询,我肯定要确定查询哪一页的数据,每页显示多少条,那我在这个写函数的时候,我无法确定。这个函数到底是什么,到底我这个什么,到底它第几数,没人想调求,我不知道,不知道要怎么办,我这个函数又得继续进行下去,那干什么?定义参数,在我们GS里边定义参数直接写这个就行,直接写参数名就行了,在GS当中这都是它的,它的语法就好办了,直接定义它就行。
17:11
那这样的话的话,我们说定义成参数了,我用到配置number配置size了,下边我就可以继续往下写了,就往写干什么,想获得发请流发干什么,把参数发过去,然后把配置number发过去,配置number值是吗?就这个参数。然后配塞的值什么就是它,然后继续往下写这些,这个函数就写好了,写好能不能执行,不能执行,为什么?因为这两个值还没确定。什么时候确定将来由调用者去传,调的时候去传懂吧,那为什么说调用者去查,因为我写函数的时候,我不知道查第几页的数据,每页显示多少条我不知道。所以那么调用者将来有它调用者知道有调用者去传,我写了函数的实现者不知道他第几页数据,每页减多少条,他就写一个这么一个范式,那但是具体看第几页数据,具体每页下多少,有用户去调,他切换到哪一页了,他切换到每页现在多少条了,他按个我们就给他传体调到这个船体。
18:14
就有函数的调用者去传是吧,那有同学又问了老师,你说那这个函数的调用者去传,你比如说他在哪儿传,你比如说当我们这个地方当是吧,当我们这个地方,哎哎,这个地方啊,这个地方我先写一下我这个地方,我算了这个地方,你比如说他看这个地方,假如说这个地方我们封装了这这个地方封装参数。那么说分值这这个方把这两个数据分成这个作为参数传过来了,那我们说调用者去传,按哪一调用的这个地方有个调用者。调用者什么他这个地方要去查询数据去了,要去查询数据,那查询数据查询哪一页的数据,每页显示多少条,他这个地方调用者这个地方一定知道,那怎么知道,你比如说他,我们举这个例子,你比如说他当页面加载完成之后。去分页查询,根据条件分页查询市场活动,那查询市场活动查询第几页的数据。
19:05
我们这个这个对需求已经明确告诉你,查询第一页的数据配置number就判个一,然后呢,每页显示多少条十头这个成员,所以调用者一定知道。啊,函数的实现者,在实现函数函数的时候,这些参数有一些参数无法确定知道。那么调用者一定知道,一定确定,你们老师万一调用者也不确定呢?有些数据万一调用者也不确定呢?可能吗?调用者也不确定,这些数据也不也不确定,那调对调用调用者的,就你比如说这个调用者也是什么,调用者也是我们呀,也是你程序员啊。调用这个就就在这个地方,在入口函数这个地方来调用。
20:00
这个函数的调用者,这个数据能确定吗?对这些数据,当上函数的什么实现者无法确定的数据,调用者一定确定,一定能确定,对如果说什么,如果说调用者也不确定,那就没,那就没法写了,那就没法,那这个那就什么,那这个数据就没意义了,为什么没意义了,调用者都用不到的数据,他无法确定,就说明他用不到,他用不到这个数据。但是看他都用不到了,我们还要这个数据干什么。调我们写这些代码,写这个函数,是不是这个调用者用的,调用者都用不到这个数据,就他不知道,他不不确,他不确定,那肯定是吧,他用不到,他如果能用到,他肯定能确定,是不是这个意思大他对是就是这个意思,知道吧,是他如果能确定,他一定用到了,就他用到了,他反过来他用到了,他一定能确定。
21:04
那反过来说,他要如果确定不了,那他一定没用到这个数据,他没他调用着都没用到这个数据,我写这个函数我给他,我给他这个数据干什么,他都不需要数据,我写这个函数就是给调用者调的。我不是写着玩的,你说我写这个函数我没事,我闲着吗?我写这个函数干什么?就是给调用者调,调用者都用不到的数据,我这里边儿我要它干什么?从我们这个具体例子上来说,用户就是分页查询市场活动去。他都不知道查看第几页的数据,那我还按我还我还按这个页号查他干什么,所以说对于用户而言的话,他想分页查询市场活动,他一定知道什么,在调的时候,他一定知道查的是第几页的数据。要的时候他一定知道每元选择多少条,知道吧,要么默认,要么什么,要么默认要么是什么需求,给我们明确规定。
22:02
知道吧,它一定是这样的,所以说大家这些参数你不用担心,你写函数的时候不确定,但是调用者一定确定的,你说调用者也不确定这个函数,这个数据你就可以完全去掉了,从你函数,从你函数里边就完全可以去掉了,为什么?因为调用者不需要我们写函数,就是给用户用的,知道吗。这时候我们说到这,所以说大家我们这个地方大家拒绝我们这个例子,我写这个函数的就这两个数据不确定,所以说大家调用定义这函数,定定义成函数的参数,有调用的去传。啊,这是我们刚才说的这那电中这个参数有的这个大家这个从具体语法上来讲的话,以前有同学这么写,你看对不对啊,从具体的语法,大家把这个道理想明白了,看具体语法,有的同学这样写,这样写对不对,对你说如果定义定义这个参数,参数不是局部变量吗?我定义定定义一个局部变量吗?这不行吗。
23:02
这样行吗?对,这样是不是不行啊,不行是吧,是吧,因为定义参数指定参数的类型的吗?那是强类型的语言对吧?那是吗?那是Java里边在GS里边呢,弱类型的语言,前面不用定义什么这个变量的类型啊,不用定义参数的类型,因为它压根就没有类型,也不是说没有类型,就是它的类型不确定,怎么不确定,这个地方有可能是字符串,有可能不尔有可能是什么数值,知道吗?那到底是什么,谁来决定呢?这两个参数的类型对调用者传什么类型的数据给他,给他附什么类型的数据,它这这变量它是什么类型,就这意思知吧,对,这是弱类型的语言,知道吧,好,这时候我们说的这这样的话,大看这俩数据我写的时候不确定,所以定入参数,定参数有调用者将的去传,知道吧,但是这个道理能想明白吧。可不可以,对,可以吧,对,那同样道理的看,当我们第一个需求,当整个页面加载完成的时候,显示所有数据的第一页,然后默认每页显示十条。
24:08
所以我这个地方掉的时候,那我就他传过了一和十了,那同样的这个地方传几当我一点查询按钮也是向后台去分页查询市场活动,这个地方查询第几页的数据啊。是就点查询按钮,这个第二个需求,我一点这个地方。对对,按照需求,它需求已经确定了一点,是不是查询所有符合条件数据的第一页,那第一页那就什么一配,那么配置size呢?啊,是不是我们按照需求默认,如果没有明确指令是不是就是值啊啊当然我们说这个地方,你说老师我可不可以获取这个值可以啊,当然也可以获取这个值,如果他要没选的话,你获取是不是默认也是十啊。10大家能理解这个意思吧,就是简单,就这我这个地方先这么先默认,先给他默认事实,当然一会儿我们还得改知吧啊,但我们先先这么先给大家说到这个地方,好,这是我们说的这样,那同样道理,大看将来万一我一点这个地方,假如他改了,改成几了,这假如我一点了,将来是不是也得向后代发行功,后代发行是不是还得调这个函数,调的时候还得给它传参数配置三配置number出给他填几啊。
25:30
哦对,他这个地方什么,他一选目每页显示20条了,以前每页显示掉,他就选了20,那这个地方是么?你说老师是不是获取这些,也就不是获取这些,按根据需求来讲的话,应该说他只要一切换每元显示多少条。都是跑到第一页,为什么跑到第一页那个老师万一么他想到第二页,他每页想是一开始每页想十条,然后呢,正在想到第二页,假说他切换到每页显示20条,能不能还让他保持第二页不能,为啥不能?
26:01
数据页,对,万一万一这样呢,万一它总共就15条数据。万一就15条数据,原来有两页,想到第二页你要改成20条了,你还能跑到第二页呢。我圣贝达本来就一页了,每如果每页显示二的条,大家能理解这个意思吧,对,所以他以后每次切换每页显示条数都是跑到第一页去按照这个page size选了几就是几,大家能理解吗?这样所以说将来我们肯定做大家我们当然现在先不做啊,这样那将来什么万一他什么这个地方后来切换到某一页了,是不是将来我们给他们也可以加上单机时间啊。它切换到哪一页,你还是调这个函数,调的时候给他传配置number传几,它点几是不是给他传几啊,对配置30几啊。配置塞子是不是,那我们说就取这个下拉列表的值数,这个下拉列表它原来选中了几就是几知道吧,那你说老师能不能出现这种情况,万一那么。
27:05
总共15条儿数据。然后呢,这个地方。他选了20条。然后呢,一开始第一页,然后后来他选了第二页,可不可能出现这种情况。就这总共15条儿数据。然后呢,一开始每页显示20条,然后呢,这个地方什么当前正在显示第一页,然后他点了一个二,可不可能出现这种情况,对不可能,为什么不可能,对没有第二个这些都吗都没有知吗?15条每页显示二十二十条,是不是总共就一页啊,总共就,所以他不可能点别的了,那你说他要点下一页呢。对这个地方也没有,咱们就这个意思知道吧,所以说大概我们说这俩是吧,这俩参数我们封装起来是不是大家看我们说将来这么一封装的话,就是给什么给我们做翻页功能,给我们提供的便利支处了,大家能理解这意思吧,将来我们给他们加世界的时候,根据它切换的结果,就可以直接调我们这个分页函函数了。
28:12
是吧,那调到时候他选了几,然后切换到哪了,我们就给他传什么参数就行,就这个意思。所以大概我们说这个函数呢,我们现在说进一步的改造之后,就这么一个函数了,这么一改造,那么就为我们这些什么翻页功能做做好准备了。啊,当然现在我们还没做翻页,你先别想翻页到底怎么去做,先别先别管这个,我我们先什么,先把这个函数进一步做了,进一步的封装了,大家能理解这个意思吧吧,你先别想如何去翻页,一会儿我们再给大家详细的做这个翻页,好,这是。
我来说两句