ASP.NET网站制作之AJAX进门之利用for完成反射机制
那做企业软件是不是最好用J2EE?ajax 甚么是反射机制反射机制指的是程序在运转时可以猎取本身的信息。比方一个工具可以在运转时晓得本人有哪些办法和属性。
在JavaScript中使用for(…in…)语句完成反射
在JavaScript中有一个很便利的语法来完成反射,即for(…in…)语句,其语法以下:
for(varpinobj){
//语句
}
这里varp暗示声明的一个变量,用以存储工具obj的属性(办法)称号,有了工具名和属性(办法)名,就能够利用方括号语法来挪用一个工具的属性(办法):
for(varpinobj){
if(typeof(obj=="function"){
obj();
}else{
alert(obj);
}
}
这段语句遍历obj工具的一切属性和办法,碰到属性则弹出它的值,碰到办法则立即实行。在前面能够看到,在面向工具的JavaScript程序计划中,反射机制是很主要的一种手艺,它在完成类的承继中发扬了很年夜的感化。
利用反射来传送款式参数
在Ajax编程中,常常要能静态的改动界面元素的款式,这能够经由过程工具的style属性来改动,好比要改动背景致为白色,能够如许写:
element.style.backgroundColor="#ff0000";
个中style工具有良多属性,基础上CSS里具有的属性在JavaScript中都可以利用。假如一个函数吸收参数用用指定一个界面元素的款式,明显一个或几个参数是不克不及切合请求的,上面是一种完成:
functionsetStyle(_style){
//失掉要改动款式的界面临象
varelement=getElement();
element.style=_style;
}
如许,间接将全部style工具作为参数传送了出去,一个style工具大概的情势是:
varstyle={
color:#ffffff,
backgroundColor:#ff0000,
borderWidth:2px
}
这时候能够如许挪用函数:
setStyle(style);
大概间接写为:
setStyle({color:#ffffff,backgroundColor:#ff0000,borderWidth:2px});
这段代码看上往没有任何成绩,但实践上,在setStyle函数外部利用参数_style为element.style赋值时,假如element本来已有了必定的款式,比方已经实行过:
element.style.height="20px";
而_style中却没有包含对height的界说,因而element的height款式就丧失了,不是最后所要的了局。要办理这个成绩,能够用反射机制来重写setStyle函数:
functionsetStyle(_style){
//失掉要改动款式的界面临象
varelement=getElement();
for(varpin_style){
element.style=_style;
}
}
程序中遍历_style的每一个属性,失掉属性称号,然后再利用方括号语法将element.style中的对应的属性赋值为_style中的响应属性的值。从而,element中仅改动指定的款式,而其他款式不会改动,失掉了所要的了局。有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 那么,ASP.Net有哪些改进呢? 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
页:
[1]