日期:2014-05-16  浏览次数:20371 次

javascript 创建对象
var Luger={
    newToDo:function(title,content,time,rank,color){
        this.title = title;
        this.content = content;
        this.time = time;
        this.rank = rank;
        this.color = color;
    },
    addToDo:function(toDo){
        alert("1"+toDo);
        toDoList[toDoList.length] = toDo;
    },
    newAndAddToDo:function(title,content,time,rank,color){
        var toDo = this.newToDo(title,content,time,rank,color);
        this.addToDo(toDo);
    }

}


上面是我的代码 我想创建一个todo对象,通过Luger.newToDo  Luger.addToDo创建和添加,不过这样做貌似不行。是不是我的方法不对。
javascript

------解决方案--------------------
肯定是方法不对了。
大概是这样子的:

// 构造函数    
function Luger(title, content, time, rank, color){
    this.title = title;
    this.content = content;
    this.time = time;
    this.rank = rank;
    this.color = color;
}
// 公共方法
Luger.prototype = {
    addToDo      : function (toDo) {
        alert("1" + toDo);
        toDoList[toDoList.length] = toDo;
    },
    newAndAddToDo: function () {
        this.addToDo(this.title);
    }
}
// 初始化
var l = new Luger('me', '23age');

------解决方案--------------------

var toDo = this.newToDo(title,content,time,rank,color);
改成
var toDo = new this.newToDo(title,content,time,rank,color);
------解决方案--------------------
newToDo: function (title, content, time, rank, color) {
                return {
                    title: title,
                    content: content,
                    time: time,
                    rank: rank,
                    color: color
    &nbs