分享
 
 
 

我与Javascript 随笔(二)

王朝html/css/js·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

[注:为方便起见, Javascript简称为JS]

在ASP网络应用程序的开发过程中,将我从纯客户端的环境下使用JS的行为摆脱出来,开始以另一种方式使用JS:针对服务端应用的JS脚本。

我不想讨论怎样采用Application、Session、Request、Response以及ADO等COM服务对象结合VBScript(或JS)脚本语言进行服务端编程的详细规则,也不想让同为浏览器的脚本语言的VBScript和JS较量一番,只是简单讲一下自已在ASP编程中采用JS作为客户端脚本语言开发的一点体会。

为减轻服务端处理数据的压力,对于客户端提交至服务端的大量表单(Form)数据必须先经过处理或有效性的验证,在对这些数据的处理过程中,JS中的String和Array对象是非常好的选择,而 Array对象存储各种类型数据(从基本的数值型到字符串再到对象类型)的能力常让我怀疑是否正在使用MFC中的CArray模板类,记得有一次需要对服务端返回的多个字符串数据进行类似队列的循环处理,然后将处理的数据再返回至服务端,使用Array对象的栈和队列功能,使我很轻松地解决这个问题。解析和验证诸如电子邮件地址、身份证号、电话号码、文本框输入字符等常用的字符串正确表达规则,以前通常的做法是无穷无尽的if...else或while判断,现在采用RegExp对象后,验证字符串正确表达规则的代码不仅精炼而且非常有效(当然,RegExp的语法也是最关键的,处理不好也非常容易掉入陷阱)。

有些看似不可接受的语法,居然在JS中使用频率非常之高,举个例子,类似一个字符串”abcde”,要查找”c”是第几个字符,我可以这么写:”abcde”.indexOf(“c”),很独特的写法,还有new String(“abcde”).indexOf(“c”)同样能够实现这个功能。虽然一开始我也不太接受这些语法,但是写客户端的JS脚本越多,我越感到使用这些语法的必要性,它对程序的可读性和维护是非常有好处的。JS的灵魂就在于简炼(请记住,不是简单)。

在面向服务端应用的开发中,使用JS编写DHTML文档是非常有必要的事情,我的一个实际案例:用户需要根据自已的要求生成不确定的、大量重复性的HTML表格,每个表格里又包含许多Form控件。想像一下,这件事如果由ASP服务端脚本来完成,那将会是一种什么情况?首先,用户说我要生成5个表格,服务端收到这个请求后,先定义一个表格模板,然后以循环方式在服务端动态生成5个表格,最后返回用户所需的HTML文档。当随着请求用户的增多和请求的表格数的增加,服务器的负载将不能得到保证。如果由JS采用同样的方法为用户在客户端动态生成这些表格,那将是一件非常美妙的事,具体规则是JS操作 DOM(文档对象模型),生成动态的表格。

面向对象的特性使我对JS感到不解,在客户端的DHTML开发中真的需要面向对象吗?JS不是一种纯面向对象的语言,虽然可以实现或伪实现某些诸如继承、多态的面向对象语言的特性,但这些东西经常在DHTML使用吗?正如我曾经看过的一本书《JavaScript完全参考》中所述:大多数JS程序员使用的还是一团浆糊式的编程。我的原则是:尽可能采用过程式的JS编程,也不用面向对象的方法!偏激了点,的确在许多实际应用开发中,牺牲过程式的编程而勉强采用面向对象的方式有时是恰如其反。

今天,ASP.NET正在把Web开发中面向客户端处理的细节隐藏起来,但我始终不会忘记一个灵活、高效且非常健壮的客户端如果失去了JS,那么也就失去了Web开发真正的魅力。

这篇随笔还没有真正的结束,让它先暂停一下吧,同时期待自已对JS有更多的理解:)

yjgx 于 2004-2-27 22:00

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有