代码改变世界

JavaScrip备课

2012-02-28 09:33  文日尧  阅读(235)  评论(0编辑  收藏  举报

  以下内容就如同授课一样

  上学期我们一直在强调JavaScript(以后简称js)非常重要,是Web程序员的利器,如果掌握不好,就如同人没了双腿,想做点什么都费劲。

  我们知道js现在很火,而且已经火了好些年了。就像今天的android一样。所不同的,后者只能做手机开发,而js在所有web开发领域都有用武之地。

  不知道在座的童鞋们有多少使用过win98,或者见过win98。我先没有几个。我在上大学的时候,网吧里装的还都是win98,如果你玩游戏,比如CS,大概1小时左右就会重启一下,当然这和机子的配置也有关系,但是和操作系统的关系更为密切。后来网吧的机子上一页之间都装了windows2000,我感觉进入了天堂一样,终于再也不咋死机了。那时候的网速也很悲催,很多网吧都说是光纤上网,双线接入。其实根本就不是。在网站注册个账号都得很长时间。比如我想玩游戏吧,需要在官网上注册个通行证。也无非就是那么几项。什么用户名,密码,确认密码,姓名,地址,电话等等。我记得经常是点了“注册”按钮之后,页面上一篇空白,等了一会才返回来一句话“密码必须为6位或者大于6位”。为什么会一篇空白呢?谁来说说?

  最主要的是2个原因

  •   点“注册”按钮之后,注册信息被提交到服务器,服务器对数据的有效性进行验证,如用户名是否合法,是否重复,密码格式是否正确等。也就是说每次用户操作页面都要提交到服务器
  •      当时网速很慢

  那时候已经是2003年了,我们试想一下一九十年代的时候,当时在美国也大部分因特网用户还是通过28.8k/s的调制调解器来上网。可这时候网页已经变得越来越大,越来越复杂,当然这极大的丰富了网页的表现能力,改善了用户体验。但是在悲催的网速下,这只能让用户更加痛苦,这就说明软件和硬件的发展一定要同步,就好比现在手机的功能越来越多,很多非常好的软件功能相当棒。但是网络信号差,导致很多功能实现不了。比如google地图的功能很好,还具有GRP定位功能,但是手机上网的流量费太贵,很多人都不能时刻开着。如果移动,联通这些服务商能够增加基站数量,降低资费,那我们就都可以享受到更好的服务,这是题外话,我们继续刚才的话题。

  一方面是网页变得越来越丰富,内容越来越多,一方面是不给力的网速。更痛苦的是像我们刚才说的那个例子,仅仅为了表单的有效性验证,就要体较大服务器,等了几十秒之后,可能只告诉你密码格式不正确或者忘记填写一个必要的字段,比如用户名。这可谓雪上加霜。

  如果换做大家活跃在那个年代,你们会相处什么样的办法来解决这个问题呢?可以聊聊,我相信我们的想法和当时人们的想法不会相差太多。当然不要告诉我提高网速。

  这时候Js就诞生了,当然js并不是一开始就叫js,也是一番经历之后,才有了js的大名。总之吧,js是出来了。它的目的就是为了解决咱们上面的问题。把很多验证放在客户端,而不是提交到服务器上验证,然后再返回来。其实我们想想,对于web开发来说,不是服务器来处理,就是客户端来处理,而客户端就是我们的浏览器。既然网速慢,那么好,我就不提交到服务器上了。把一些功能放在用户的浏览器中来操作。这不就快了嘛!当然这也需要浏览器支持js才行,所以很多浏览器都添加了对Js的支持。说到底浏览器就是一个软件,就如同我们自己开发的软件一样。开始智能计算加法,某一天我想让他也能计算表乘法,好,我拿回来改就是了,浏览器也是这样。开始不支持js功能。现在我想支持了,重新添加新的模块就行了嘛。

  这就是js产生的大概过程。即使现在的网络状况已经越来越好,但是js反而显得更加重要。因为用户体验变得越来越重要。A网站和B网站是同一类网站,我在A上操作某个功能需要10秒,在B上只需要2秒。那么你会愿意常常访问哪个网站呢?肯定是B了。所以只要客户端编程的思想一天又存在的土壤,Js就会一直活下去。

  好,就到这里,下篇文章咱们具体介绍js。