function $id(elem){return document.getElementById(elem);}
var my_select=$id("my_show_select");
var my_textarea=$id("my_show_textarea");
var my_button=$id("my_show_button");
my_select.onchange=function(){
var value=this.value;
var array=[];
switch(value){
case '1':
array.push('var a=b=[1,2]');
array.push('a.push(3)');
array.push("alert(a.length+' : '+b.length)");
break;
case '2':
array.push("var a=b=new Object()");
array.push("a.show=function(){alert('a: I am a')};");
array.push("b.show=function(){alert('b: I am b')}");
array.push("a.show(); b.show()");
array.push("alert('事实上我调用了两个不同函数')");
break;
case '3':
array.push("var a=function(){alert('a说:函数本身并不具有相互引用特性,虽然他也是Function的实例');}");
array.push("var c=new a();");
array.push("var b=c;");
array.push("b.show=function(){alert('b: I am b');}");
array.push("c.show=function(){alert('c: I am c');}");
array.push("b.show();c.show()");
array.push("alert('事实上我调用了两个不同函数')");
break;
case '4':
array.push("var a=[1,2]");
array.push("var b=function(arg){\nvar c=arg;\nc.push(3);\nalert(c.length);}");
array.push("b(a);");
array.push("alert('事实上参数a在函数b中被修改了')");
}
my_textarea.value=array.join(";\n");
};
my_button.onclick=function(){
eval(my_textarea.value);
};