易语言-静态变量和递归调用

 

静态变量

局部变量的作用域是在一个子程序当中,出去这个作用域后就会被销毁掉 ,如果勾选属性静态即使超出了作用域变量的值也会保留 。

简单的说就是超出作用域后变量的值仍然会保留不会被重置。

示例:

比如每次点击按钮时变量的值需要累加起来,如果不勾选静态那么每次点击按钮时就会初始化,变量会被销毁,所以无论点击几次按钮变量的值始终为1,为默认值达不到累加的效果。

如果把静态勾选上就不会被销毁掉,还保留着上次的值。

一般在累加或倒计时会用到静态变量。

递归调用

递归调用就是一个子程序在某种情况下自己调用自己。

使用递归的注意事项

递归必须存在一个出口,让整个子程序停止执行,否则就会像一个死循环一样无限调用,但是递归的无限调用比循环更加危险,因为无限递归会导致程序内存溢出而报错崩溃 。

因为反复调用自己的话,最后内存会溢出,即为内存不够用了 。

递归时需要详细的规定这个子程序的作用。

递归和循环的区别

循环是指将一段代码循环执行多次。

而递归是将同一个子程序调用多次。