如:Date.prototype.parseDate = function(str) {
  if (str.match(/^\d{4}-d{1,2}-d{1,2}){
      r = str.split('-');
      return new Date(r[0] , r[1] ,r[2]);
   } else {
     return new Date();
  }
}
var str = '2009-4-15';
//报错
var date1 = Date.parseDate(str);//可以通过
var d = new Date();
var date2 = d.parseDate(str);
我想要的效果是 把 parseDate()作为 Date 的静态函数,不需实例来运行它。

解决方案 »

  1.   

    L@_@K
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <title> new document </title>
      <meta name="generator" content="editplus" />
      <meta name="author" content="" />
      <meta name="keywords" content="" />
      <meta name="description" content="" />
     </head> <body>
      <script type="text/javascript">
      <!--
    Date.parseDate = function(str) {
    var re = /^\d{4}-\d{1,2}-\d{1,2}/g;
    if (str.match(re))
    {
    var r = str.split('-');
    return new Date(parseInt(r[0]), parseInt(r[1])-1, parseInt(r[2]));
    } else
    return new Date();
    };var str = '2009-4-15';var date1 = Date.parseDate(str);
    document.write(date1.toLocaleString());  //-->
      </script>
     </body>
    </html>
      

  2.   

    不用protype就是可以直接用的! 类也是也是一个对象!