??xml version="1.0" encoding="utf-8" standalone="yes"?> 1Q打开\Tomcat 5.0\conf\web.xml; 2:在文件中Q?/p>
<servlet>
上面的listings的属性设为falsep了?/strong>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
]]>
大家都知道javascript是可以隐式声名变量的。但要注意,隐式声名变量L被创Zؓ全局变量。看以下代码Q情愿javascript语言强制声明变量。徏议大家一定要var声明变量?
代码
<SCRIPT LANGUAGE="JavaScript">
function test(){
var a=222;
document.writeln(a);
}
test();
document.writeln(a);
</SCRIPT>
代码
<SCRIPT LANGUAGE="JavaScript">
function test(){
a=222;
document.writeln(a);
}
test();
document.writeln(a);
</SCRIPT>
2、关于变量的作用?
猜猜以下代码输出什么?
代码
<SCRIPT LANGUAGE="JavaScript">
var x='000';
document.writeln(x);
a();
function a(){
var x='aaa';
function b(){
document.writeln(x);
var x='bbb';
document.writeln(x);
}
b();
document.writeln(x);
}
</SCRIPT>
如果你的{案?000 undefined bbb aaa。恭喜,ok.当代码用到x变量Ӟ先从函数块(权威指南中用调用对象来解释)中找Q如果找不到Q从上一U函数块找,直到扑ֈQ如果知道顶层代码(指var x='000';的位|)q没扑ֈ定义Q代码会报未定义错误?/p>
改一下代码,得到 000 undefined 111 111
代码
<SCRIPT LANGUAGE="JavaScript">
var x='000';
document.writeln(x);
a();
function a(){
function b(){
document.writeln(x);
document.writeln(x);
}
document.writeln(x);
var x='111';
b();
}
</SCRIPT>
3、新的问?
变量个作用域清楚了,注意上面的代码。ؓ什么我的function a()定义以前可以调用a函数了,而我的var x='111';前“不可以用”x啊?Q?
让我把我的理解一一道来
首先Q以下代码让我相信javascript有个预编译过E,不是完全按照序解释执行的?
代码
<SCRIPT LANGUAGE="JavaScript">
a();
function a(){
alert();
}
</SCRIPT>
个h理解q个预编译过E不会象java/c#那样把代码编译成虚拟识的语言Q更不会象vbQvc那样~译成更底层的语a。猜惛_是把q个函数预装载到q段函数执行的全局环境中,在这个执行环境中Q该函数被标识定义过Q可以直接用了。(看到|上很多人写的AOP的javascript实现,其实q个预编译过E才是翻译元数据最x候,可惜javascript语言来讲Q是有些落伍了)
q个文章主要讲变量的一些问题。变量说了,Z么函数可以,我变量就不可以呢?
代码
<SCRIPT LANGUAGE="JavaScript">
document.writeln(a);
var a=0;
</SCRIPT>
Z么我要输出undefined呢?Z么我a׃可以预编译一把呢Q?
大家看看以下两段代码会输Z么呢啊?Q?
代码
<SCRIPT LANGUAGE="JavaScript">
document.writeln(a);
a=0;
</SCRIPT>
代码
<SCRIPT LANGUAGE="JavaScript">
document.writeln(a);
</SCRIPT>
可能你运行试了,可能你本来就知道Qa未定义。哈哈哈Q好了?
现在我确信var a=0;被javascript解释器“预~译q”,臛_是记录下来了。甚x它的D|ؓ undefined。“undefined”这个词名字取的很是让h误解Q怎么能叫未定义呢Q分明是javascript中所有变量的初始化倹{关于null与undefined的比较我实在不愿提了?
注意上面两段代码q反映一个现象。隐式声明的变量是在解释的时候才把自己定义ؓ全局变量的?/p>
关于函数与变量javascript预编译的不同处理Q大家可以与java class的加载过E比较下。java也是对基本类型设出|对象为null的。(不往q扯了)
4、区别未定义变量和未附值变?
代码
<SCRIPT LANGUAGE="JavaScript">
var a;
document.writeln(a);
</SCRIPT>
代码
<SCRIPT LANGUAGE="JavaScript">
document.writeln(a);
</SCRIPT>
未定义变量和未附值变?权威指南中文?定义的。通过W三条分析,我觉得变量就应该?定义和未定义变量区别。未附值变量和undefined有点冲突Qjavascript不是强类型语aQ没发附默认|才来了个undefined?
5、基本类型和引用cd
熟悉java的朋友可能这部分很清楚。没?
说头?
6、javascript的垃圑֛?
关于q部分内容一直没见着个权威说法。在javascript权威指南中有两小节提到这个问题?
对于字符丌Ӏ对象、数据这些没有固定大,必须为它们动态的分配内存Q但什么时候回收这些内存呢Qjavascript使用和java一Lgarbage collection的方法?
代码
var s="hello";
var u=s.toUpperCase();
s=u;
q行q段代码后,"hello"没有变量会再用到他,q是"hello"的存储空间的被垃圑֛收了。对于javascript的垃圑֛Ӟ你唯一要关心的是,它一定会q行Q不要对内存担心?
注意Qjavascript不提供Q何的强制垃圾回收或释攑ֆ存的q算附或语句?
javascript的deleteq算附和C++中的不同?
代码
<SCRIPT LANGUAGE="JavaScript">
var o=new Object();
o.name="zkj";
o.age=25;
o.bir=new Date();
for(var key in o){
document.writeln(key+':'+o[key]+'</br>');
}
document.writeln('delete o.bir</br>');
delete o.bir;
for(var key in o){
document.writeln(key+':'+o[key]+'</br>');
}
</SCRIPT>
7、作为属性的变量
猜猜以下代码会输Z么?
代码
<SCRIPT LANGUAGE="JavaScript">
var x=100;
document.writeln(x);
add(x);
document.writeln('</br>------------------------</br>');
var x=200;
document.writeln(x);
add(x);
function add(x){
document.writeln(x);
var x=300;
document.writeln(x);
var x=400;
document.writeln(x);
}
</SCRIPT>
估计很多得出正确{案
100 100 300 400
------------------------
200 200 300 400
但这里我惛_?全局对象和调用对象的 概念Qjavascript权威指南是这么翻译滴Q?
代码
<SCRIPT LANGUAGE="JavaScript">
var x=100; //我们在全局对象中加了个属性x. Ҏ
//var o=new Object();o.x=100;
document.writeln(this.x);//用this讉K全局对象
add(this.x);//把全局对象的属性g递对函数中 ?
document.writeln('</br>------------------------</br>');
this.x=200;//把全局变量中的x属性修Ҏ
document.writeln(window.x);
add(window.x);
function add(x){
//假设有个局部对象,调用对象Q函数调用过E中的对象 ?
// temp temp.x=${传入的值}
document.writeln(x); //哦这打印的可是参C的|也就是temp.x=this.x
//的?
var x=300;//把调用对象变量的{l覆盖了.
document.writeln(x); //打印修改q的倹{?temp.x
var x=400;//temp.x=400
document.writeln(x);
}
</SCRIPT>
在函数的调用q程中,假设有个调用对象存在Q把函数的参敎ͼ和函数内的时变量当成这个调用对象的属性。当然这个调用对象的生命周期很短?
注意Q当我们讉K全局变量的属性入x的时候,不必要用this.x 或window.x讉KQ当在有<frame><iframe>的页面时会出现淆?
关于函数的详l讨论我后箋会详l讨论?/p>
文章来自Q?a >http://www.javaeye.com/article/19506
AdParter分成机制QAdParter按竞价广告单ơ有效点Mhg站长分成Q幅度ؓQ?span class="style6">50%-90%、站长单ơ最低收?.05?span style="text-decoration: underline;">.
相比Google EarthQ微软的q款“虚拟地球”可不是什么单独运行的软gQ而是架构于Live Search上面的一个服务网c而这栯计的好处也是显而易见的Q那是我们在Q意一台电脑上都可以方便地使用Virtual Earth了?
一?外观?
1. 外观界面速览
当我们在览器中输入?http://maps.live.com/ ”这个网址后回车,便可以看到“Virtual Earth”的主页面了Q如?所C?
? 其他Windows Live产品一P“Virtual Earth”的背景也是׃块非常漂亮的极光蓝组成。同Ӟ它的界面设计也是相当z,所有功能都被划分到面上方的搜索框和左侧的控制手柄中。而且Q由 于这里的功能和咱们以前用q的Google Earth完全一P所以,怿大家上手应该是没有什么问题?
2. 多样的地图浏览模?
而与Google Earth不同的是QVirtual Earthq没有完全采用卫星地图作为演C体,而是常规地图、卫星地囑时放|在了控制手柄上Q用户可以根据自q需要自行选用Q而且切换h十分q速,如图2所C?
不过Q微软毕竟还是微软,q点问题可是难不倒它的。在处理自己的卫星地图不丰富q个~点Ӟ它很巧妙地将航拍囄与卫星地囄合了h。当地图被放大到一定精度时Q控制手柄中的“航拍模式”便被自动激zM?
其实Q这个模式用v来也很简单,只要我们点击一下“航拍模式”按钮,Virtual Earth便会马上以当前位置Z心的最q九张航拍地图整理出来,以九宫格的Ş式显C在按钮右侧Q而我们只需在选好的图片上点击Q便能迅速打开q张地图了,如图4所C?
二?的浏览控?
使用qGoogle Earth的朋友一定知道,Google Earth的浏览控制功能十分丰富,我们除了可以使用固定在地图上方的控制手柄之外Q还可以直接利用鼠标快速完成一些简单Q务。而在Virtual Earth中,鼠标同样h着重要作用?
1. 地图的放大与~小 在地囄览q程中,最常用到的功能是攑֤与羃了。而在Virtual Earth中,我们除了可以方便C用鼠标滚轮快速羃放之外,q可以通过双击的方式手动放大鼠标所在区域。而如果再配合上控制手柄中的羃放滑杆,整个地图的羃放操作将变得十分方便?
2. 地图的移?
相比攑֤与羃,地图的移动就昑־更ؓ单了。和同类软g不同的是QVirtual Earthq没有将地图Ud工具攄到控制手柄上Q事实上Q也很少有h会用手柄来完成q个操作Q,而是直接它集成在了鼠标上?
我们只需用鼠标在地图上拖拽,相应的画面便会随之发生变化。甚臻I整个拖动q程也和Google Earth一P颇具动画效果Q用v来感觉十分逼真?/p>
三?3D视图模式
1. 3D视图的启?
? 要说Virtual Earth最有特点的一,恐怕就是它?D视图了。和航拍模式不同Q?D视图下的每个建筑物,都是电脑Ҏ实际寸自动合成的。我们不仅可以Q意改变观 看的角度Q甚臌可以清楚地知道徏{物之间的比例,而这点也正是卫星地图和航拍地N以企及的Q倒有点像׃时候玩q的U木Q如?所C?
? 切换?D模式非常单,我们只要在控制手柄处点击一下?D”按钮,再按照屏q的提示Q? 下蝲q安装好一?D插g可以了。而当插g安装完毕之后QVirtual Earth会首先弹Z个选项面Q让我们选择一?D模型的渲染别,如图6所C。其实这个选项的含义非常简单,从左到右分别是“最低精度”、“中{精 度”和“最高精度”,而它们之间的区别除了效果不同之外Q对电脑的要求也是节节攀升的?
【小提示?Virtual Earth?D插g目前仅能安装在英文版操作pȝ中,q点请大家注意?
2. 更改3D视角 ׃3D视图中的建筑物都是由计算机实时渲染出来的Q因此我们就有了更多的视角变化。相信大家已l注意到Q在3D视图模式下,画面中除了原有的控制手柄之外Q还多出了一个方向手柄。其实,q正是Virtual Earth?D视图下所Ҏ的视角控制器Q如?所C?
而除了上面这UQ意视角之外,Virtual Earthqؓ我们预设了三档默认视角,被顺序地攄在控制手柄上Q用v来非常方便,如图8所C?
3. 画质Ҏ
不过说了半天Q这些由计算机渲染出来的地图I竟效果如何呢?耛_、眼见ؓ实,W者这里找C一l同一地点拍摄的航拍图片和渲染囄Q效果如何,q是h自己来看吧,如图9所C?
四?更多有趣功?
1. 交通查?
? Ӟ除了上面所说的q些功能之外QVirtual Earth的附属功能也一点不比Google Earth差。除了最基本的地址搜烦服务QVirtual Earthq有一个非常实用的功?—? 交通查询。就像我们好多司机朋友爱听\况广播一P在Virtual Earth上也提供了一些事故通报和\况信息等{内宏V?
其中Q事故通报的颜色非帔R目,在图中一眼就能看刎ͼ而我们只要将鼠标悬停于通报图标之上Q便能看到它的具体内容了Q如?0所C。只不过Q有些遗憄是,该项功能目前q仅能在国的一些城市中使用Q而且数量也不是很多?
2. 路线查询
? 了交通查询之外,Virtual Earthq有另外一w常实用的功能 —?路线查询。点几ZDriving directions”按钮之后,Virtual Earth便会在页面左侧打开一个对话框Q我们只需v始地点和目的地点输入其中Q再选择好是希望查询最短行驶时间还是最短\E之后,点击“Get directions”按钮即可开始查询?
而如果您l出的地址信息不够详细QVirtual Earthq会弹出几个更详l的地址供您选择。最后,查询出来的\U会用一条醒目的颜色标识出来Q一目了Ӟ如图11所C?
? 不想让电脑自动将您当前的所在地标识出来Q呵呵,q可不是什么天方夜潭,在点Mȝ面上 的“Locate me”按钮之后,Virtual Earth便能直接您当前所处的位置昄在了图中。其实,不是Virtual Earthh什么特异功能,可以得知我们当前所处的位置Q而是它能够通过解析我们上网的IP地址来完成所在地定位?
所以,如果您现在正在用代理服务器Q或者打开了什么网l加速Y件的话,那么q项功能可就真的失效了,如图12所C?
而除此之外,Virtual Earthq允许我们发布或打印出当前地图,具体操作也与其他软g完全一P只不q限于篇q有限,W者在q里׃再赘qCQ大家可以自己去试一下?
写在最?
怎么P看到q里Q相信您已经对微软的q款Virtual Earth有了个大体印象了。就W者这D|间的试用情况来说QVirtual Earth相比Google EarthQ明昑֜功能斚w占了上风。但囄数量q少Q精度太低的问题却一直困扰着它?
? 且,׃目前好多服务都仅限于北美地区Q甚臛_q那?D视图插g也只能安装在英文版操?pȝ中,所有的q些问题无疑都严重阻了Virtual Earth的快速发展。而恐怕只有解决了q些问题之后QVirtual Earth才能真正与Google Earth一决高下?/p>