有用JavaScript做服务器端脚本写ASP程序的同仁进来聊聊。
准备用JavaScript来作服务器脚本代码。感觉还是不错的。
一、? : 运算符
二、方法可以有不定参数,面向对象比VBScript要强些。
三、...
问题点数:60、回复次数:38Top
1 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2006-03-12 18:14:38 得分 2
方法可以有不定参数
vbs可以用dic模拟出来不定参数
Top
2 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2006-03-12 18:38:09 得分 2
楼主的想法比较好,呵呵,赞成,我现在就在学着用JAVASCRIPT来做。Top
3 楼kaijier(<空杯子>)回复于 2006-03-12 20:24:56 得分 2
支持一下Top
4 楼moeryang(侵晨的烟火)回复于 2006-03-12 21:42:34 得分 2
不如用vb写com 或写IIS应用程序,更强。
vbscript 有的javascript没有,
比如:Trim(),Left,isnumberic()Top
5 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-13 08:28:44 得分 0
to liuxiaoyi666(MSMVP小猪妹马甲之八卦兔子):
模拟比较麻烦地说
还有try catch也比较好用
moeryang(侵晨的烟火) :
可以用String.prototype.trim原型函数的方式写出来,这一点不是问题。
Object.prototype.isNumericTop
6 楼xxuu503(中国没有prison break只是因为the company不让拍)回复于 2006-03-13 09:22:57 得分 2
感觉很另类
:)Top
7 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-13 09:33:10 得分 0
to xxuu503(我爱郭芙蓉!):
不另类啊,因为Javascript总体上来说比VB强一些,在继承方面比VBscript要好,语法,功能等都不错。
如果一开始就用javascript写,学了服务器端,客户端也就顺带学了,呵呵。
Top
8 楼eglic(圪圪) (理由永远是谎言,信仰永远是自慰)回复于 2006-03-13 09:33:20 得分 8
但是,ASP一个很重要的功能就是处理各种字符编码
JS在这个方面远比不上VBSTop
9 楼eglic(圪圪) (理由永远是谎言,信仰永远是自慰)回复于 2006-03-13 09:34:27 得分 2
一、? : 运算符
VB里面有一个IIF函数,VBS里面虽然没有,但是可以自己写一个,不复杂
二、方法可以有不定参数,面向对象比VBScript要强些。
这个用处不是很大
三、...
...
Top
10 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-13 09:34:33 得分 0
to eglic(圪圪) (错过的,还能找回来么?)
是的,在二进制处理上,javascript是个弱项。Top
11 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2006-03-13 09:35:36 得分 8
on error resume next
vb.net 有try catch
国外用js的蛮多的,不过从道理上讲js的执行效率不如vbs
写出的类是function 这个我很难以接受,写法不清晰,js在调用一些系统对象的时候可能会碰上一些麻烦,其他的都差不多
js扩展性好一些,因为对象比较多,比如string之类的,vbs写出来更为整洁,但是不如类C语言的写法优雅
总的来说,各有利弊,想用就用.....我更喜欢vbs,不过别人用js写的系统,我一定也用js改,个人所好吧
Top
12 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-13 09:38:15 得分 0
to eglic(圪圪)
本帖不是讨论VBScript和JavaScript优劣的问题,只是想让用JavaScript写过服务器端脚本的朋友来聊聊经验和可行性。
我说的那几点不足以谈上优点,呵呵。
eglic是vbscript版的版主,当然对其很有研究,呵呵。谢谢你的指点。
Top
13 楼meizz(梅花雪)回复于 2006-03-13 10:35:20 得分 5
JS 没有二进制流的系统函数,很不爽呀。Top
14 楼ghostzp(不做举人,如何榜眼探花)回复于 2006-03-13 10:55:36 得分 2
从来都是混合用Top
15 楼jspadmin(阿笨狗http://www.pifoo.com域名空间专卖cn20、com50元)回复于 2006-03-13 11:16:55 得分 2
是个挺不错的尝试,不过兼容性可能要考虑下。Top
16 楼woyingjie(Hobo)回复于 2006-03-14 20:34:29 得分 2
js可以调用vbs的函数~~Top
17 楼loveasp007(爱死拼)回复于 2006-03-14 21:29:23 得分 2
哇噻,都是绝顶高手啊,汗...Top
18 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-15 09:01:20 得分 0
这两天我正好断网,总结了一下了。
JavaSript的优点:
? :运算符
try(){}catch(){}
更象C和Java的语法,代码优雅
函数的不定参数(如果vbs中有个象vb中的optional就好了)
类的继承比vbs好。
原型函数
缺点是:
缺少二进制数据处理方法,处理xmlhttp返回的二进制信息也是个问题。这一点如果说可以用编码的方法解决的话。那想写个无组件上传基本上就不行了。
还有"类"里面没有象VBS的 Class_Terminate() 事件,不能完全靠gc来实现垃圾回收和资源释放,必须要模拟一个release或terminate方法。Top
19 楼yiyioo(天一(一个人的Team))回复于 2006-03-15 09:39:29 得分 5
借问一下?
a.asp
<a href="js.asp?a=1">js服务器端脚本</a>
然后在js.asp用js的服务器端脚本写
var b = Request("b");
这样,这个b是个什么东西?
我测试过,他是一个object,但不是string型的,也不是数字型的,
一个空对象?如果是空对象,怎么证明他是个空对象?有什么函数吗?
然后这么写
var returnValue = "ssssdsds";
if(b=="")
returnValue = "it is empty";
if(b==null)
returnValue = "it is null";
if(b==undefined)
returnValue = "it is undefined1";
if(typeof(b)==undefined)
returnValue = "it is undefined2";
if(typeof(b)=="undefined")
returnValue = "it is undefined3";
Response.Write(returnValue);
结果输出:ssssdsds
这个b到底是什么东西?Top
20 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-15 09:44:01 得分 0
var b = Request("b") + ""; //将Object型转成String型
或
var b = Request("b")[0];Top
21 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-15 09:58:50 得分 0
http://localhost/JScriptWeb/a.asp?a=x1
typeof(Request.QueryString("a"))=object
Request.QueryString("a") + ""=x1
Request.QueryString("a")(1) =x1
上面错了。。Top
22 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-15 09:59:48 得分 0
http://localhost/JScriptWeb/a.asp?a=x1&a=x2
typeof(Request.QueryString("a"))=object
Request.QueryString("a") + ""=x1, x2
Request.QueryString("a")(1) =x1
Request.QueryString("a")(2) =x2Top
23 楼yiyioo(天一(一个人的Team))回复于 2006-03-15 10:15:08 得分 0
Thank You`~~```````
它是个空对象?
有函数可以来证明它是个空对象吗?
Top
24 楼rotApple(烂苹果)回复于 2006-03-15 10:46:50 得分 5
JavaScript我写过,优点很多,可问题也不是没有啊
VBS会自动隐式转换类型,而JS不会
你试着用
var a = rs("b");
if(a == "")Response.Write("empty");它永远都不会执行
而VBS
if rs("b") = "" then Response.Write("empty")会执行
上面的JS就算你写成是
rs.Fields.Item("b).Value它返回的照样是OBJECT,还是不会执行
所以我试了很多次才成功
最后是用的:
var a = new String(rs.Fields.Item("b").Value);
if(a.valueOf() == null || a.valueOf() == "")
Response.Write("empty")
这样才会执行,不过怎么说JS也是有很多比VBS强的地方的!
各有各的优点了!!
个人觉得VBS的类不强,JS的强些,JS对编码处理不行,VBS强些......
呵呵
哦,还有一个:
在写AJAX时的
onreadystatechange = a;
function a{.....}
这个超好用,因为一个JS函数本来就是一个类
如果用VBS的话..........
还要再写一个类,把要执行的东东写在initialize里面,麻烦......
小小个人见解!Top
25 楼xiaogu1234(小古)回复于 2006-03-15 11:09:05 得分 2
学习。。。Top
26 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-15 11:30:51 得分 0
var a = rs("b") + ""; //这样就可以了。
谢谢rotApple,很有建设性。
还有人用JavaScript写过吗?
Top
27 楼znjgress(四空和尚)回复于 2006-03-15 13:27:26 得分 2
能够熟练应用的东西就是最好的.
语音是各有千秋了.
和习惯也有关系的.Top
28 楼woyingjie(Hobo)回复于 2006-03-15 15:36:39 得分 0
用js的时候要特别注意大小写,vbs则不用~!Top
29 楼rotApple(烂苹果)回复于 2006-03-15 15:43:59 得分 0
呵呵是的,JS就是要注意大小写,不过我觉得这是一个非常好的习惯,现在我写VB都是要分大小写的,就算他不用分,我写的时候也是分的.
to: KimSoft(革命的小酒天天醉)
var a = rs("b") + ""; //这样就可以了。
呵,是的,这个超好用!!Top
30 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-15 15:44:37 得分 0
我觉得注意大小写比较好。这样写出来的代码比较统一些。
Top
31 楼woyingjie(Hobo)回复于 2006-03-15 16:02:45 得分 0
恩,非常同意~!
我用vbs的时候,也注意大小写!Top
32 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-15 16:57:54 得分 0
我一般VBS写好后,copy到vb6 ide里,或直接在vb6 ide里直接编写。代码比较好看些。呵呵。Top
33 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-16 17:34:55 得分 0
我都想放弃了...Top
34 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-17 08:17:28 得分 0
放弃了...Top
35 楼gameboy766(古巴)回复于 2006-03-17 09:18:12 得分 4
就我个人的测试来看js的执行速度比vbs快得多。但由于时间原因,只测试for和while循环100w次,而且上面也有带星的兄弟说js的执行效率不如vbs,所以我这个片面的测试不一定准确,有时间且有兴趣的朋友做做详细测试给大家看看吧,大家也好学习学习。
我分别测试了服务器端部分(即分别用js和vbs写的asp程序)和客户端部分(即在<script></script>里面写的),结果是差不多的,都是js快,当然上面也说了,不一定准确。Top
36 楼Scarroot(每天一贴,把分用完.)回复于 2006-03-17 10:05:03 得分 1
好多星星Top
37 楼llinzzi()回复于 2006-03-28 09:25:19 得分 0
好多用于都用javascript写asp呀,好开心,我一直在用javascript写asp 非常好用
看了楼上几位朋友谈了下javascript的缺点不禁嘴痒痒。
js处理二进制很优秀的
js的确天生不认识asp的内容对象,对他们的数据类型判断不正确,需要强制转换,不过这也不是什么大问题吧,希望大家能讲这个话题讨论下去。
大家有时间来我的blog看看http://onewww.net/blog/ 就是专门讨论javascript写asp的,还有一些成形的javascript的asp作品。里面就有处理二进制的!Top
38 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-28 10:15:58 得分 0
虽然很讨厌QQ群,但我决定还是要建立一个。Top




