当前位置:编程学习 > asp >>

尽可能的使用本地(局部)变量

答案:以下的新技巧将取代较早前发布的"在一行内定义变量",其中包含有一些错误观点:

   局部变量是在子程序和函数中定义的(也就是常说局部范围的变量),这些变量被编译成数字指向并放入一张表中。这些局部变量的指向可以通过一次编译完成。而全局变量则是在运行时被执行的。这就意味着局部变量的存取要比全局变量快好几倍。而且,易做图全局变量是其中最慢的,当第一次使用一个易做图全局变量时,在新的对象产生之前,就要在整个对象模型中搜索一遍同名的对象。

  以下是一个非常常见的例子:

  Foo.bar.blah.baz = Foo.bar.blah.qaz(1)

  If Foo.bar.blah.zaq = Foo.bar.blah.abc then

  运行时产生如下结果:

1)变量Foo被定义为一个全局变量

2)变量bar被定义为Foo的一个成员

3)变量blah被定义为Foo.bar的一个成员

4)变量qaz被定义为Foo.bar.blah的一个成员

5)调用 Foo.bar.blah.quaz(1)

6)重复1至3。系统并不知道如果调用qaz改变了对象模型1-3步必须重新执行

7)定义baz为 Foo.bar.blah的成员,输出值

8)重复1-3,执行zaq

9)重复1-3,执行abc

  正如你看到的,效率极其低下,最快的方法就是把这些代码写在vbscript中:

Set myobj = Foo.bar.blah ' do the resolution of blah ONCE

Myobj.baz = myobj.qaz(1)

If Myobj.zaq = Myobj.abc then

上一个:将采集到的值拷贝到本地(局部)变量当中
下一个:ASP实现分页显示

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,