00:00
啊来,我们接着往后说啊啊,那么我们接下来要做什么事呢?大家来注意,接下来我们要做这样的事儿,你看好了啊,就是现在的话呢,我能进行正常的登录操作了,没问题吧,比如说哎,我写个mi,好,我们还是来研究这个错误的情况哈,来123456啊登录这是什么正常的步呢,没问题,那么我们来看,当我出错以后呢,我随便写了点东西啊,当我出错以后呢,他现在能回来诶。东西哪去了?Requestco logging message刚才显示出来了吗?刚才我没演示是吧?Request e啊,好啊,对,写错了哈,注意因为这个地方我绑定的是下划线的吧,对吧,这个写错了哈,呃,我这个忘了啊,那我们得改成什么呀,改成这个下划线的哈,来给大家解释一下,就是呃,我们通过Java代码来写的话呢,因为我是把这个取出来以后呢,是不是直接复制给了这个变量了,对吧?我这个记错了啊,记成它了,那么我在这里面写的是什么?就是你在request里面绑定的时候用的是哪个值,那么你在这个将来取的时候,你就得用哪个值去取,理解吧,哎,这样才对哈,我们再来演示一下,好,那么三访问到log g sb,好,你注意哈,它也是看不到。
01:46
任何东西了,因为他拿到了只是个空,那就不给你显示,我们在书上这个的密,在书上这个一个错误的密码,好登录一下,我们能看到这个信息是有的吧,然后又回到这个页面了吧,对不对,OK,好,那接下来我们想做什么事呢?你看了哈,啊,那我知道我是错了,那么错了以后呢,我在这个地方呢,我就想怎么着重新去写了吧,啊,重新写的话呢,那我又把这个我的密写上,我又写上我的密码,对吧,我要再去继续登录,那么其实我们希望什么呀,我们希望当我重新去输这个数据的时候呢,你这个错误提示啊,你就消失了,你不要一直在这显示了,对吧,你的作用就是做一个提示,那么你已经提示给我了,然后呢,我重新去输入这个信息之前呢,你就把这个东西给我去掉就行了,你不要一直在这显示了。
02:35
理解了吧,我们想做这样的效果,那么这个效果的话怎么做呢?我们就需要动态的把页面中的某一些内容做一些操作了,那么我们就得用到我们的另外一个技术叫做javascript,也是我们前端里面的第三个技术,我们前端不是总共讲过HTML吗?CSS对不对?还有一个就是我们的javascript,像这个东西其实就特别简单了啊,我不需要给你去讲它的语法,因为它跟我们这个Java还是有一点点类似的。好来说一下它是个什么技术呢?给大家介绍,它是我们的一个页面脚本语言,所以说呢,它是写到页面中的啊,既可以写到HTML页面中,也可以写到我们的JSP页面中,听懂了吧,它是由谁来执行的呢?由浏览器来执行的。
03:32
明白了吗?是由浏览器来执行的啊啊,那么他最初呢,诶是由一个叫做什么呀啊ne什么STEM是吧,有这个公司的啊这个这个人吧,然后呢,在这个网警这个导航者这个浏览器的首次啊设计实现而成的,大家可能都没有听说过这个网景是吧,听过没有。没有是吧,这个是很早很早很早很早之前的一个东西了啊,就以前的那个啊,大家这个以前那帮程序员可能会听说过这个网警啊,但现在的话呢,基本上没人能听说过,没人听过他了啊,所以我们了解一下就行了,所以说呢,呃,一开始呢,他并不叫这个javascript,它叫什么叫做livescript啊,后续的话,因为这个与这个萨公司合作了,然后呢,呃,公司的这个高管是吧,希望这个外观看起来更像Java啊,因此呢,取名叫做什么javascript啊,但是呢,其实我是这么认为的啊,我怎么认为的呀,因为你这个javascript啊,它是一个页面的脚本语言,听懂了吧,在那会儿来讲,这个东西刚刚出来用的人少之又少。
04:43
明白吧?而那会的Java语言呢,那是火的一塌糊涂。是吧,啊,你看似他们是合作了对不对,其实我觉得就是什么呀,哎,他想借用人家什么Java的这个名气对吧,然后呢,给我们造成一种假象,诶说这个Java s科的这门语言,那么你第一个感觉就是它跟Java肯定是有关系的,是不是啊,诶但是呢,等你学完以后发现没有半毛钱关系啊,完全就不是同一个东西,理解这个意思吧,所以说我觉得你主要是想用人家这个Java的一个名气了啊,然后呢,想让你这个语语言这个让更多的人去用,是吧?啊然后呢,他也达到了这样的一个效果,在现在而讲这个Java斯特这样,那真的是很厉害很厉害的,而且用的人也特别多,特别是对于前端的这个开发者来讲,这个东西也是必不可少的,一定要去学的明白了吗?OK,所以这个呢,大家了解一下就可以了啊啊,那么给大家解释下这个脚本语言啊,它是一个解释型的一个脚本语言。
05:49
像Java吧,它是一个编译型的,就是得先编译,然后才能运行,而这个脚本语言呢,什么样的解释型的呢?就是直接就通过这个浏览器逐行来进行解释运行就行了,就是相当于比如说你写的这个javascript代码,那么浏览器跟一行一行的去帮你解释,然后直接就去帮你执行了,不需要有任何编译的过程啊,Java的话呢,你必须得有编译的过程啊,这是一个什么解释型的一个脚本语言,然后呢,它也是基于对象的啊,就是这个Java斯科本里面呢,它也有面向对象这样的一个概念啊,但是呢,这些东西呢,都不是我们要去了解的啊,他就是前端的那帮人要去深入的研究的,我们只需要知道它基本的语法怎么去使用就行了啊,然后呢,呃,再一个需要说一下,就是他的一个特点,就是它是一个弱类型的一个语言,那么对应的就是我们Java的一个叫做强类型,知道Java是强类型吧,知不知道?
06:49
知道吧,什么叫强类型啊,解释一下啊,为什么Java是强类型的语言啊,强到什么地方啊,啊就是在Java中来讲的话。
07:12
你不管去定义变量也好,是吧,或者说呢,哎,你想去表示一些什么数据也好,你必须得有一个明确的类型约束,是不是这个样子的,只要你定义一个变量,你都得有一个类型去声明它吧,对不对?然后呢,如果说你在操作的过程中,两个数据类型不匹配了,你能不能进行相互的操作啊,不能,你得进行转换,是不是这叫做强类型语言,那什么叫做弱类型语言呢?我告诉你,在JS里面,它也有字符串,它也有数字,它也有布尔,它也有这个引用对象,这种类型它都是有的,但是对于这些变量的生命来讲,统一都使用一个VAR就可以了。它没有一个具体的类型声明,比如说我va啊,我声明了一个A啊,这是一个变量,但是呢,你不知道这个变量是什么类型,听懂了吧,而只有等等,等到什么呀,真正执行的时候,你才知道它是什么类型,那么他是怎么知道的呀,它得根据你A里面所保存的,就是所指向的这个数据,他得根据你具体的数据来判断你到底是什么类型的,这叫做弱类型语言。
08:30
明白这个意思了吧?好,那我再来给大家去说一说啊,就是像Java来讲的话,比如说我声明的一个,我们来到这里稍微写一写啊,比如说呃,在Java里面来讲,我声明了一个int类型的I,对吧?那我问你I是什么类型的A类型的吧,OK啊,在JS里面我生命类些,哇类型的I,问你I是什么类型的啊,好多同学说是哇类型的啊,这个不是一个类型,明白吧,这就是一个语法,所以说现在我也不知道它是啥类型的啊,那么将来比如说I我能复制成一个一没问题吧?OK,那我问你I是什么类型的呀,你是看一一呢,还是看it呀,看it好,那这个地方我I等于一一,好,我问你I是什么类型的,你是看它啊,不是,它是看数据。
09:29
明白了吧,我要根据你具体的这个数据,我才能推断出来你这个I当前是什么类型的,好,那么再来说,比如说它真明为是一个I,那我将来能给I赋值ABC吗?Java里面不行吧,但是在JS里面,虽然说我已经给你复制过一个一一了,但是呢,我后续还可以再给你赋值ABC,注意,当它复制为一一的时候,I表现的是一个数字类型的,当它复制为ABC以后,I表示的就是一个字符差类型的,说以它这个是一个弱弱类型的类型是可以变的,明白这个意思了吧,这叫叫做什么弱类型语言,听明白了吧?OK,那么强类型好用还是弱类型好用啊,各有各啊,各有各的好处,真的是强类型语言有什么好处呢?就是大部分的错误,你在写代码的时候,你就可以避免掉了,对吧,编译出错了你就得改了嘛,但是对于这种弱类型的语言来讲呢。
10:29
没有所谓的这个编译错误,明白了吧,因为在编译的时候我也不知道你到底是啥,因为编译的时候我知道你的数据是什么吗?不知道吧,运行的时候我才知道,所以说明弱类型呢,就是它在这个好多错吧,我们直接提示不出来,但是弱类型有一个它自己的好处,就使用起来特别灵活,我定一个变量,我我我可以无限制的去用,一会把它当成字符串,一会把它当成数字,一会把它当成布尔的,明白了吧,它也有它自己的好处啊好,那么再来跟大家去说一个消息是吧,就是在这个JDK10,这个听了没听说过没是吧,多多少项新车进来着,100多项是吧?啊,108还是109来着是吧,我都不敢看啊啊在这个JDK10里面呢,它也有了VAR这样的一个语法啊,但是你说它是一个弱类型的吗?不是,它还是强类型的。
11:29
对吧,只不过它有一个什么自动类型推断这样的一个机制,它也是能通过你的这个数据呢,帮你去推断啊,但是呢,它本质上Java就是一个强烈型的语言啊,只不过是支持这种语法了,明白了吧?OK,反正我觉得估计等到这个JDK100的时候是吧?啊,我觉得它可以兼容世界上任何一门语言,只要你有了语法,我必须得有是吧?啊,这就是Java啊好吧,OK,这个简单给大家去介绍一下,那我再来接着往后看,然后呢,呃,动态性的话就不需要去说了啊,因为它就是一个什么事件驱动的一个脚本语言,这也是我们要具体去用的,就是我们可以通过事件驱动来去做出一些事情来啊,一会儿我们就要去用这个东西啊,然后跨平台性这个是特别好的啊,也需要给大家去解释一下啊,呃,你们在学Java的时候也应该听说过跨平台吧?好,那谁能给我解释一下什么叫做跨平台Java。
12:29
啊,啥叫做跨平台啊?Java都学了这这么长时间了,能解释出来什么叫做跨平台吗?平台知道是什么吗?平台是什么知道吗?啊,这个老师没说过吗?肯定说过吗?哪能没说过呀,你忘记了不代表人家没说过呀,啊,解释一下哈,啥叫做平台呢?平台其实你就可以认为就是我们的操作系统,对吧?那么我们就拿上最典型的两个操作系统来讲,一个是我们的Windows啊,一个是你们将来每天都要打交道的,叫做Linux是吧?学大数据嘛,你这个Linux必须得会用啊,而且用的特别熟是不是?OK,那Windows跟LIS这就是两个不同的平台。
13:23
什么叫叫跨平台呢?就是我可以啊,在不同的平台上都可以去做什么相同的操作,那么对于Java来讲,它就是跨平台了,为什么呢?因为你在Windows里面写的这个Java代码啊,跟你在这个LIS写的这个Java代码,大家注意它运行的时候直接跟你的操作系统来打交道吗?是吗?不是的,他是跟谁啊,这个Java代码我要跟他的什么JVM虚拟接啊,啊,这个Java代码呢,我也要跟你的什么JVM虚拟机打交道,那么我只需要在不同的平台上提供上这个JVM虚拟就行了,但是呢,对于Java来讲,你的这个JVM虚拟机里面的运行的是不是都是一样的呀,对吧?因此就是什么意思啊,Java为什么能跨平台呢?就是因为它为不同的这个操作系统呢,都提供了对应的这个JVM虚拟机,而对于Java本身来讲,你写好了这个Java代码,只要搁到任意一个JVM虚拟机上面都能运行,这样的话呢,我们就能实现。
14:23
一个跨平台的一个效果,听懂了吧,但是对于C语言来讲它是不行的,为什么呢?因为C语言是直接跟你的操作系统有关系的,你在Windows下面开发的C跟Linux下面开发的C肯定是有区别的,这个你是做不到跨平台的。明白了吧,OK,就是呃,这样的一个意思啊啊,那么这个JS为什么能跨平台呢?因为它跟你的操作系统也没有啥关系,它是跟浏览器有关系的,理解吧,你比如说我写了一张GS代码,你在Windows里面你安装一个浏览器,OK,我就能运行我这个GS代码了,你在这个Linux下面安装一个浏览器,我也能运行我的这个GS代码,所以说呢,它跟你的操作系统也是没有关系的,因此它也能跨平台,理解这个意思了吧,OK,你得知道什么样的跨平台是吧,好吧,OK,那么这就是我们要给他去讲的这个JS啊,它相关的一些什么概念,那么除了这些概念之外的话呢,我们再来说一下,它到底怎么去写呢?我们要把它写到我们的一个s square这个标签中啊,S square标签中,或者说呢,我把它写到一个JS文件中,再把它引入进来啊,你来看看哈,就怎么去写呢。
15:41
比如说我就在我这个login jsb中啊,我可以在这个head里面呢,我再去写一个script的标签,然后呢,在这个里面我就可以去编写我的什么JS代码,明白了吧?啊,或者说呢,我可以怎么写呢?我再写一个script,然后呢,通过一个这个src在这个里面呢,我去什么呀,去引入一个JS文件,就是你把那个JS代码的单独写到一个JS文件中,你把它引入进来,就跟我们那个CSS是一样的,能听能听懂这个吧,OK,好,那么这些呢,就是我们JS基本的一些介绍啊。
16:25
干啥?
我来说两句