Discuss / JavaScript / 一个问题

一个问题

Topic source

童尛冉

#1 Created at ... [Delete] [Delete and Lock User]
var robot = {
        name: 'Robot',
        height: 1.6,
        run: function() {
            alert(this.name + ' is running...');
        }
        fly: function(){
            alert(this.name + ' cannot fly...');
        }
    };
    function createRobot(name){
        //基于Robot原型创建一个新的对象
        var s = Object.create(robot);
        s.name = name;
        return s;
    }
    var xiaoming = createRobot('xiaoming');
    xiaoming.run();
    xiaoming.fly();

在一个对象中可以创建多个方法么?我在robot对象里面定义多个方法后,初始化该对象就不能调用这些方法

塔山佛

#2 Created at ... [Delete] [Delete and Lock User]

是不能写多个方法的

对象中可以定义多个function,但是你的run函数结尾处没有加逗号(,),所以不成功。

那个说不能写多个方法的请你不要误人子弟好吗。。

Ethan-Fanny

#5 Created at ... [Delete] [Delete and Lock User]

同意,你在定义robot对象的时候,2个function中没有逗号,如果你用IDE工具是可以很清楚看到错误的,我用的IDEA 15. 貌似sublime没有这个错误检查

雨逍萧

#6 Created at ... [Delete] [Delete and Lock User]

完全可以 var Student={ name:'Robot', height:1.2, run:function(){ alert(this.name+" is running...") }, fly:function(){ alert(this.name+" is flying...") } };

function createStudent(name){ var s=Object.create(Student); s.name=name; return s;

} var xiaofeng=createStudent("xiaofeng"); alert(xiaofeng.name)//xiaofeng alert(xiaofeng.height)//1.2 xiaofeng.run()//xiaofeng is running... xiaofeng.fly()//xiaofeng is flying


  • 1

Reply