提示object不是日期对象 <script>
function Calendar() {
var arg = arguments;
switch(arg.length) {
case 0:
Date.call(this);
break;
case 1:
Date.call(this, arg[0]);
break;
case 3:
Date.call(this, arg[0], arg[1], arg[2]);
break;
}
}
Calendar.prototype = new Date();
Calendar.prototype.constructor = Calendar;
var c = new Calendar(2010, 11, 25);
alert(c.getDay());
</script>
function Calendar() {
var arg = arguments;
switch(arg.length) {
case 0:
Date.call(this);
break;
case 1:
Date.call(this, arg[0]);
break;
case 3:
Date.call(this, arg[0], arg[1], arg[2]);
break;
}
}
Calendar.prototype = new Date();
Calendar.prototype.constructor = Calendar;
var c = new Calendar(2010, 11, 25);
alert(c.getDay());
</script>
function Calendar(y,m,d) {
var arg = arguments;
var dateObj;
switch(arg.length) {
case 0:
dateObj=Date.call(this);
break;
case 1:
dateObj=Date.call(this, arg[0]);
break;
case 3:
dateObj=Date.call(this, arg[0], arg[1], arg[2]);
break;
}
return dateObj;
}
Calendar.prototype = new Date();
Calendar.prototype.constructor = Calendar;
var c = new Calendar(2010, 11, 25);
alert(c.getDay());
試試這個吧。
function Calendar() {
var arg = arguments;
switch(arg.length) {
case 0:
Date.call(this);
break;
case 1:
Date.call(this, arg[0]);
break;
case 3:
Date.call(this, arg[0], arg[1], arg[2]);
break;
}
}
Calendar = Date;
Calendar.prototype.constructor = Calendar;
var c = new Calendar(2010, 11, 25);
alert(c.getDay());
你这个功能既然Date已经实现了,你为什么还构造一个出来呢
你直接 var c = new Date(2010,12,23);不行嘛
我现在只是实验下得不得呀,得的话我肯定会添加自己的function啊
对象冒充
原型链http://javascript.crockford.com/prototypal.html
http://javascript.crockford.com/inheritance.html