JavaScript代码
  1. <script type="text/javascript">  
  2. <!–  
  3.   
  4. // 方法一  
  5. var cellphone = {  
  6.     number: 13684042440,  
  7.     dial: function  () {  
  8.           
  9.     }  
  10. };  
  11.   
  12. // 方法二  
  13. var cellphone = new Object();  
  14. cellphone.number = 13484042440;  
  15. cellphone.dial = function () {  
  16.     alert("Calling "+this.number);  
  17. }  
  18.   
  19. cellphone.dial();  
  20.   
  21. // 给已有的类追加方法  
  22. String.prototype.trim = function () {  
  23.     var tmp = this.replace(/^\s+/,);  
  24.     tmp = tmp.replace(/\s+$/,);  
  25.     return tmp;  
  26. }  
  27.   
  28. var str = "  sfdfd  sfsd   ";  
  29. str2=str.trim();  
  30. alert("’"+str+"’");  
  31. alert("’"+str2+"’");  
  32.   
  33. function Beesn() {  
  34.     this.member = new Array(‘Kevin’,‘Vonsk’,‘Edison’,‘Michael’,‘Whl’),  
  35.     this.list = function () {  
  36.         for(var i=0;i<this.member.length;i++) {  
  37.             alert(this.member[i]);  
  38.         }  
  39.     },  
  40.     this.show = function () {  
  41.         this.member = this.member.shift();  
  42.         alert(this.member);  
  43.         //for(i in this.member) {  
  44.         //  alert(this.member[i]);  
  45.         //}  
  46.     }  
  47. }  
  48. var our = new Beesn;  
  49. our.show();  
  50.   
  51.   
  52. //arguments 对象的用法。  
  53. function ArgTest(a, b, c){  
  54.    var i, s = "The ArgTest function expected ";  
  55.    var numargs = arguments.length;     // 获取被传递参数的数值。  
  56.    var expargs = ArgTest.length;       // 获取期望参数的数值。  
  57.    if (expargs < 2)  
  58.        s += expargs + " argument. ";  
  59.    else  
  60.        s += expargs + " arguments. ";  
  61.    if (numargs < 2)  
  62.        s += numargs + " was passed.";  
  63.    else  
  64.        s += numargs + " were passed.";  
  65.     s += "\n\n"  
  66.    for (i =0 ; i < numargs; i++){      // 获取参数内容。  
  67.     s += "   Arg " + i + " = " + arguments[i] + "\n";  
  68.     }  
  69.    return(s);                          // 返回参数列表。  
  70. }  
  71. alert( ArgTest(1,our,our) );  
  72.   
  73. // caller demo  
  74. function callerDemo() {  
  75.     if (callerDemo.caller) {  
  76.          var a= callerDemo.caller.toString();  
  77.          alert(a);  
  78.      } else {  
  79.          alert("this is a top function");  
  80.      }  
  81. }  
  82. function handleCaller() {  
  83.      callerDemo();  
  84. }  
  85. callerDemo();  
  86.   
  87. //callee可以打印其本身  
  88. function calleeDemo() {  
  89.      alert(arguments.callee);  
  90. }  
  91. //用于验证参数  
  92. function calleeLengthDemo(arg1, arg2) {  
  93.     if (arguments.length==arguments.callee.length) {  
  94.          window.alert("验证形参和实参长度正确!");  
  95.         return;  
  96.      } else {  
  97.          alert("实参长度:" +arguments.length);  
  98.          alert("形参长度: " +arguments.callee.length);  
  99.          aert(calleeLengthDemo.length);  
  100.      }  
  101. }  
  102. //递归计算  
  103. var sum = function(n){  
  104.   if (n <= 0)                          
  105.   return 1;  
  106.   else  
  107.     return n + arguments.callee(n – 1);  
  108. }  
  109. calleeLengthDemo(1,2,3);  
  110.   
  111. var vehicle=Class.create();  
  112. vehicle.prototype.initialize= function(type)  
  113. {  
  114.         this.type=type;  
  115. }  
  116. vehicle.prototype.showSelf= function()  
  117. {  
  118.       alert("this vehicle is "this.type);  
  119. }  
  120. var Class = {  
  121.    create: function() {  
  122.     returnfunction() {  
  123.       this.initialize.apply(this, arguments);  
  124.      }  
  125.    }  
  126. }  
  127. var moto=new vehicle("Moto");  
  128. moto.showSelf();  
  129.   
  130.   
  131. // 测试extend  
  132. Object.extend = function(destination, source) {  
  133.   for (property in source) {  
  134.     destination[property] = source[property];  
  135.   }  
  136.   return destination;  
  137. }  
  138. Object.prototype.extend = function(object) {  
  139.   return Object.extend.apply(this, [this, object]);  
  140. }  
  141.   
  142. var obj = new Object();  
  143. obj.extend({  
  144.     f1: function () {  
  145.         alert(‘f1′);  
  146.     },  
  147.     f2: function () {  
  148.         alert(‘f2′);  
  149.     }  
  150. });  
  151.   
  152. obj.f2();  
  153.   
  154.   
  155. String.prototype.isEmail = function () {  
  156.     return /^[0-9a-z\-_\.]+@[0-9a-z\-_\.]+\.[a-z]+$/i.test(this);  
  157. };  
  158.   
  159.   
  160. var str = "combbs@msn.com";  
  161. alert(  str.isEmail()  );  
  162.   
  163. //alert(/^[0-9a-z\-_\.]+@[0-9a-z\-_\.]+\.[a-z]+$/i.test(str));  
  164. //–>  
  165. </script>  

测试方法:

请一段一段的测试。测试一段时,先把别的行注释。