主题:  [求助]flash编程,大家进来帮忙看看!谢谢先

著名青年

职务:普通成员
等级:1
金币:0.0
发贴:4
#12003/5/14 15:27:12
下面这段程序,是在flash中比较运算符(目前只有“+-*/()#”七种)之间的优先级,其中大于关系用“1”表示,等于用“0”,小于用“-1”
可是在运行的时候,循环只执行一次。真是想不透,望大家指点迷津


gx_q1q2 = new Array( "++", "+-", "+*", "+/", "+(", "+)", "+#",
"-+", "--", "-*", "-/", "-(", "-)", "-#",
"*+", "*-", "**", "*/", "*(", "*)", "*#",
"/+", "/-", "/*", "//", "/(", "/)", "/#",
"(+", "(-", "(*", "(/", "((", "()", "(#",
")+", ")-", ")*", ")/", ")(", "))", ")#",
"#+", "#-", "#*", "#/", "#(", "#)", "##");
//关系表达式中“1”表示“>”,“-1”表示"<",“0”表示“=”,
//空表示不会出现这种关系,所以没有值,如")("
gx_gx = new Array("1", "1", "-1", "-1", "-1", "1", "1",
"1", "1", "-1", "-1", "-1","1", "1",
"1", "1", "1", "1", "-1","1", "1",
"1", "1", "1", "1", "-1","1", "1",
"-1", "-1", "-1", "-1", "-1", "0", "",
"1", "1", "1", "1", "", "1", "1",
"-1", "-1", "-1", "-1", "-1", "", "0");
function q1q2(q2) {

var q1 = "#";
var qq = q1+q2;
var a = 1;
while (a<=48) {
//48为数组gx_gq1q2的长度-1
if (qq == gx_q1q2[a]) {
break;
} else {
a = a+1;
}
var zz = gx_gx[a];
return zz;
}
}
q2 = "#";
x = q1q2(q2);
trace(x);





s22

职务:版主
等级:4
金币:10.0
发贴:1634
#22003/5/14 18:02:41
return 中断程序



fadd

职务:普通成员
等级:1
金币:0.0
发贴:45
#32003/6/10 8:31:30
return 中断程序
一般怎么用它呢?



fadd

职务:普通成员
等级:1
金币:0.0
发贴:45
#42003/6/10 8:32:15
一般怎么用它呢



tsahoo

职务:普通成员
等级:1
金币:0.0
发贴:70
#52003/6/11 19:07:42
一般用于返回一个数值(相当于函数),或者从子程序返回主程序