11 console.log("a_func run");
24 console.log("b_func run");
35 console.log("c_func run");
41 function print_dynstat(inst, name)
43 for (i = 0 ; i < inst.length ; i++) {
44 console.log(name[i]+".a_dyn: "+inst[i].a_dyn);
45 console.log(name[i]+".a_stat: "+inst[i].a_stat);
46 if (name[i][0] == 'b') {
47 console.log(name[i]+".b_dyn: "+inst[i].b_dyn);
48 console.log(name[i]+".b_stat: "+inst[i].b_stat);
50 if (name[i][0] == 'c') {
51 console.log(name[i]+".c_dyn: "+inst[i].c_dyn);
52 console.log(name[i]+".c_stat: "+inst[i].c_stat);
57 window.onload = function () {
67 arr_inst = [ a1 , a2 , b1 , c1 ];
68 arr_name = [ "a1", "a2", "b1", "c1" ];
70 print_dynstat(arr_inst, arr_name);
73 console.log("ACTION: a1.a_stat = \"CHANGED\";");
74 a1.a_stat = "CHANGED";
76 print_dynstat(arr_inst, arr_name);
79 console.log("ACTION: A.prototype.a_stat = \"PROTO CHANGED\"");
80 A.prototype.a_stat = "PROTO CHANGED";
82 print_dynstat(arr_inst, arr_name);
85 console.log("ACTION: ExtendsInst(c1, A, [1, 33])");
87 var ext = ExtendsInst(c1, A, [1, 33]);
88 console.log("ExtInst: "+(ext == true ? "TRUE" : "FALSE"));
90 print_dynstat(arr_inst, arr_name);
93 console.log("ACTION: B.prototype.a_stat = \"PROTO CHANGED\"");
94 B.prototype.a_stat = "PROTO CHANGED";
96 print_dynstat(arr_inst, arr_name);
99 console.log("ACTION: A.prototype.a_stat = \"PROTO CHANGED 2\"");
100 console.log("ACTION: C.prototype.c_stat = \"PROTO CHANGED 2\"");
101 A.prototype.a_stat = "PROTO CHANGED 2";
102 C.prototype.c_stat = "PROTO CHANGED 2";
104 print_dynstat(arr_inst, arr_name);
106 console.log("=== INSTANCE c1 ===");
108 console.log("=== INSTANCE c1.a_func() ===");
110 console.log("=== INSTANCE c1.c_func() ===");