仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2360|回复: 19
打印 上一主题 下一主题

[学习教程] ASP教程之一点ASP成绩、过失和团体心得

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:41:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP脚本是采用明文(plain text)方式来编写的。成绩|心得   转贴自:http://www.5d.cn/bbs/NewsDetail.asp?id=917831

1.省略dim,便利但也是隐患!
请求变量后再利用是尺度办法:
dim a
a = "1"
现实上,你不写dim也能够:
a = "1"
体系其实不以为失足,它会主动判别a是否是一个已存在的变量,存在就持续履行,假如不存在就主动帮你请求!看似体系好伶俐好智能好体恤,然而隐患出来了!体系晓得我的意思吗?体系极可能自作伶俐,好意帮倒忙!成绩一:假如我后面已请求了一个变量,好比administrator,前面我要给这个变量赋值,我不幸写错了个字母或少写了个字母,好比administratar = “me",体系终究等来了个“帮”我的时机,并“挺身而出”的为我声名变量,“体恤周密”难以言表!是的,法式或许能运转,但逻辑上已乱成一片了,由于体系没有报错(或报了个其他错来误导你),你基本不克不及很快定位到成绩处,假如法式很大,你花了良多工夫找到本源后,你感触若何?你一定很想骂体系“自做多情”,假如现在体系报一个administratar变量名不存在,我很快就可以晓得本人拼写错了,而把成绩敏捷改正,而不用“沉浸”在体系的“自做多情”傍边!省略dim后带来的另外一个隐患前面会讲!

2.函数内声名的变量不会搅扰内部的变量!
好比:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
dim a
a = "1"
function getstr()
dim a
a = "2"
end function

response.Write a & "<br>"
getstr()
response.Write a & "<br>"
%>

了局显示函数外部声名的变量是不会搅扰里面的,它的感化域就是函数外部,其实学过其他言语的都应当晓得!但要先声明,假如把函数内的dim a去失落的话,那就把谁人a以为是内部的a,了局就变了!文件外面请求的变量,他的感化域就是这个文件。

3.让人又爱又恨的include!
include可使ASP法式加倍布局明晰,并且一些经常使用的函数可以被其他文件所同享!他带来的优点同时你必需注重弱点!
如今回到第一点谈到的省略dim,后面讲的是我赋值却被体系“好意”的酿成了声名变量。如今讲的正好相反,我想声明变量,体系却赋值,由于省略dim也能声名变量,关于能省则省喜好精简的法式员来讲,经常挡不住这个引诱(我有时分也喜好这么请求,嘿嘿)然而,你能包管你请求的变量名后面的法式里没有?假如后面有这个变量名,那你不是请求成了赋值了?统一个文件中或许很少会犯这个毛病,然而别忘了include,他是包括出去文件,假如包括出去的文件中有你请求的变量,那你就完了,就算能运转,逻辑上已成成绩了。假如你不偷懒,用dim请求,报错的时分,你侥幸的得知这个变量名已存在了!很快就可以更正!

如今来会商更庞杂的情形,假如你include两个文件出去,在这两个文件中都有统一个变量名,假如两个都用dim请求的话,还好,就只是报错,说变量名已存在了,很快就可以晓得成绩了。如今你可以了解我为何讲第二点的感化域了,因为感化域,分歧文件同名变量普通情形下不会“打斗”。然而,假如被另外一个文件同时include出去,成绩就费事了,所以假如你写的asp文件是筹办被包括的,请避免同名的情形产生。再回到本来的会商,假如两个include文件中请求同名变量都dim还好,然而后包括文件是用省略dim请求,成绩就来了,前面的省略dim请求成赋值了,要命的是,这是在两个include文件中,很荫蔽,查找成绩更坚苦!

综上所述,人人可以写一些复杂的例子来体味体味个中的成绩,最初建议:
1.变量请先用dim请求再利用!特别多人开辟的庞杂法式!
2.给变量赋值请注重变量拼写!
3.细心懂得include的文件。

***如今讲讲查错:

现实上,寻觅成绩比代码编写更主要!我团体经历,成绩分三类:
1.报错类,编译体系在编译体系过程当中碰到的成绩,它会给失足误信息,这是法式员最喜好的成绩,呵呵,不是反常,而是这类成绩查起来最复杂!

2.逻辑类,对照厌恶的成绩,法式编译胜利,也能运转,不外显示的了局不是你逻辑中希冀的了局。oh, my god!怎样办,没有提醒信息,只能凭经历和感到去剖析毛病的了局,然后查源代码,顺遂的话,几分钟处理,难缠的一世界来也没了局!

3.功能类,很恐怖的成绩,法式编译胜利,也能正常运转,显示也正常!然而,偶然隔段工夫给你来个毛病,你基本不晓得毛病是在甚么情形下触发的,或法式功能不好像类法式的高,运转慢,这些成绩,有些一个礼拜一个月能处理了,有的几近就是恶疾,治欠好。我就已经被这类成绩折腾的死而复活!

所以,要想学好编程,就要测验考试本人处理成绩,特别象ASP法式,逻辑方面出成绩的情形不大,出的成绩根基都是报错类的,有失足信息,失足地位,本人剖析剖析应当不难处理。我看有些人情愿在服装论坛上花个三天等他人告知本人成绩,为何本人不去处理呢?本人查到一个成绩,就长了一分经历,这才是法式员的财富!

***一点法式员的心得:
不要觉得能写几行代码,做过几个小法式就觉得是法式员了,等你去软件公司干上几年你就分明甚么叫法式员了,编写代码不算甚么,代码查错,优化代码,编写软件文挡(不是一个复杂的用户手册,而是项目请求书,项目初步设计仿单,项目具体设计书,数据库设计仿单,项目测试仿单,用户利用手册,用户保护手册等等),现实上你会法式设计,其实不代表你能软件开辟。现实上我在某些方面还做的不敷好,好比编写软件文档,呵呵,想一想是件很可骇的工作,编写软件文档比写法式疾苦多了!本人做了三年delphi法式员,固然分开公司的时分完成一个不错的软件项目。但仍是感到到本人缺乏,所以如今我仍是一直的增补其他各个方面的手艺,这个社会竞争已很剧烈了,你越不勉力向上,你越勉力向赋闲接近!

关于第一个成绩,我激烈建议人人利用变量前用Dim界说一下,多写一行代码并非很坚苦的事。然后在ASP文件头部用<%Option Explicit%>,如许,假如不当心把变量名写错,就会前往变量没有界说的毛病,就能够很轻易地查失足误地位,不然,该变量就是一个Null值。

别的,联合Option Explicit说一下第二个成绩。有时分咱们需求包括多个文件(好比head界说、顶部导航等代码),而Option Explicit在一个ASP Application(注重这里是说application,特指一次使用,而不是page,不暗示一个页面)只能用一次。所以,Option Explicit最好不要放在include文件外部,以避免被多个页面屡次挪用引发凌乱。

再说一个关于 include 的小成绩。普通,假如需求包括的文件就在以后目次内,咱们可以直接用
<!--#include file="abc.asp"-->

来包括它。然而,良多时分咱们有N个需求包括的文件。因而,为了便利办理,咱们将它们一致放在一个INC或include目次内。如许,有时分包括代码就写成了:
<!--#include file="..\inc\abc.asp" -->

这就是我要会商的成绩。请注重,利用..可以会见下层目次,因为而带来一个平安隐患:用户有能够不法援用站点内部文件。基于这个来由,Microsoft 宣布的 IIS Lockdown 东西屏障了这个援用办法,而且 Microsoft 在 Windows Server 2003 的 IIS6.0 上默许是屏障这类体例的。关于这类不在本目次内的包括文件,保举利用这类平安的援用办法:
<!--#include virtual="/inc/abc.asp"-->

接待更多无益的探究和会商
</p>  专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。
简单生活 该用户已被删除
沙发
发表于 2015-2-4 06:01:49 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
蒙在股里 该用户已被删除
板凳
发表于 2015-2-9 16:45:52 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
再见西城 该用户已被删除
地板
发表于 2015-2-13 13:04:02 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
冷月葬花魂 该用户已被删除
5#
发表于 2015-3-3 21:10:40 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
小魔女 该用户已被删除
6#
发表于 2015-3-18 02:26:21 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
飘灵儿 该用户已被删除
7#
发表于 2015-3-22 18:11:45 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-26 10:29:10 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
不帅 该用户已被删除
9#
发表于 2015-3-31 01:56:26 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
若天明 该用户已被删除
10#
发表于 2015-4-11 08:21:49 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
变相怪杰 该用户已被删除
11#
发表于 2015-4-21 05:14:34 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
飘飘悠悠 该用户已被删除
12#
发表于 2015-4-24 08:42:45 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
小女巫 该用户已被删除
13#
发表于 2015-4-26 12:10:40 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
爱飞 该用户已被删除
14#
发表于 2015-4-27 23:43:53 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
透明 该用户已被删除
15#
发表于 2015-6-13 20:56:52 | 只看该作者
掌握asp的特性而且一定要知道为什么。
若相依 该用户已被删除
16#
发表于 2015-7-1 04:01:13 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
17#
发表于 2015-7-8 04:43:40 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
分手快乐 该用户已被删除
18#
发表于 2015-7-12 19:58:08 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
兰色精灵 该用户已被删除
19#
发表于 2015-7-13 20:23:08 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
柔情似水 该用户已被删除
20#
发表于 2015-7-18 20:02:55 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表