javascript对象,该对象为单个玩家在10针保龄球比赛中保持准确分数

javascript对象,该对象为单个玩家在10针保龄球比赛中保持准确分数,javascript,Javascript,最近我得到了一个web开发人员职位的面试 他们要求我创建一个javascript对象,它可以在 单人保龄球比赛一场单人保龄球比赛 我已经完成了我的测试 您可以在此url上运行脚本 如果要编辑,请转到此链接 我有两个问题: 1) javascript对象在GoogleChrome上工作,但jsbin抱怨如下构造 var bowlingGame=新函数(){…} 如果我用下面的方法纠正结构 var bowlingGame=function(){…} jsbin告诉我一切都好,但它在谷歌chrome中

最近我得到了一个web开发人员职位的面试

他们要求我创建一个javascript对象,它可以在 单人保龄球比赛一场单人保龄球比赛

我已经完成了我的测试

您可以在此url上运行脚本

如果要编辑,请转到此链接

我有两个问题:

1) javascript对象在GoogleChrome上工作,但jsbin抱怨如下构造

var bowlingGame=新函数(){…}

如果我用下面的方法纠正结构

var bowlingGame=function(){…}

jsbin告诉我一切都好,但它在谷歌chrome中不起作用。有什么想法吗

2) 我没有通过面试,事实上我没有得到任何回应;所以我的第二个问题是:

解决这个问题的最佳方法是什么

谢谢

安东尼奥

对于#1,请尝试:

至于#2,我不能确切地说你为什么没有得到一份工作,但是你的代码的间距,如果没有别的,看起来也不是很漂亮。我刚刚写了这篇文章,它更加简洁易读:

function game(){
    this.balls = [];
}

game.prototype = {
    addBalls : function(n){
        this.balls.push.apply(this.balls, arguments);
    },

    getScoreArray : function(){
        var score=0, ball=0, frame=1, frames=[], cur;
        for(var i=0, l=this.balls.length; i<l; i++){
            score += (cur = this.balls[i])
                + ((!ball && frame<10 && cur==10 && this.balls[i+2]) || 0)
                + (frame<10 && (((ball ? this.balls[i-1] : 0) + cur) == 10) ? this.balls[i+1] || 0 : 0);
            ball = ball || (cur==10) ? 0 : 1;
            ball || (frame<10 ? frames.push(score) && frame++ : frames[9] = score);
        }

        return frames;
    }
};
函数游戏(){
this.balls=[];
}
game.prototype={
addBalls:函数(n){
this.balls.push.apply(this.balls,arguments);
},
getScoreArray:function(){
var得分=0,球=0,帧=1,帧=[],cur;
对于(var i=0,l=this.balls.length;i
function game(){
    this.balls = [];
}

game.prototype = {
    addBalls : function(n){
        this.balls.push.apply(this.balls, arguments);
    },

    getScoreArray : function(){
        var score=0, ball=0, frame=1, frames=[], cur;
        for(var i=0, l=this.balls.length; i<l; i++){
            score += (cur = this.balls[i])
                + ((!ball && frame<10 && cur==10 && this.balls[i+2]) || 0)
                + (frame<10 && (((ball ? this.balls[i-1] : 0) + cur) == 10) ? this.balls[i+1] || 0 : 0);
            ball = ball || (cur==10) ? 0 : 1;
            ball || (frame<10 ? frames.push(score) && frame++ : frames[9] = score);
        }

        return frames;
    }
};