【问题标题】:Unexpected token "(" JavaScript [closed]意外的令牌“(” JavaScript [关闭]
【发布时间】:2014-04-24 16:30:24
【问题描述】:

我检查了所有括号,我觉得没问题,怎么回事? (我在 Codecademy 上 Javascript 课程)[这里是随机文本,因为 stackoverflow 希望我在文本和代码之间有更好的比例]

function StaffMember(name,discountPercent){
    this.name = name;
    this.discountPercent = discountPercent;
}

var sally = new StaffMember("Sally",5);
var bob = new StaffMember("Bob",10);

// Create yourself again as 'me' with a staff discount of 20%
var me = new StaffMember("Axel", 20);

var cashRegister = {
    total:0,
    lastTransactionAmount: 0,
    add: function(itemCost){
        this.total += (itemCost || 0);
        this.lastTransactionAmount = itemCost;
    },
    scan: function(item,quantity){
        switch (item){
        case "eggs": this.add(0.98 * quantity); break;
        case "milk": this.add(1.23 * quantity); break;
        case "magazine": this.add(4.99 * quantity); break;
        case "chocolate": this.add(0.45 * quantity); break;
        }
        return true;
    },
    voidLastTransaction : function(){
        this.total -= this.lastTransactionAmount;
        this.lastTransactionAmount = 0;
    },
    // Create a new method applyStaffDiscount here
    applyStaffDiscount(employee){
        this.total -= (this.total * (employee.discountpercent/100));
    }

};

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',3);
// Apply your staff discount by passing the 'me' object 
// to applyStaffDiscount
cashRegister.applyStaffDiscount(me);

// Show the total bill
console.log('Your bill is '+cashRegister.total.toFixed(2));

【问题讨论】:

  • [这里是随机文本,因为stackoverflow希望我在文本和代码之间有更好的比例]。是的,这是有原因的。
  • 我确定你得到了错误的行号,是吗?
  • 没有?你使用的是什么浏览器? Firefox/Firebug 不仅显示了这条线,而且提供了一个漂亮的小箭头,准确地指向错误所在的位置(使用 jsfiddle 确认)。 Safari 也会显示行号,但并没有具体说明错误在哪里。

标签: javascript token


【解决方案1】:

好吧,这不好,您在创建 applyStaffDiscount 属性的地方存在语法错误

voidLastTransaction : function(){
    this.total -= this.lastTransactionAmount;
    this.lastTransactionAmount = 0;
},
applyStaffDiscount(employee){
    this.total -= (this.total * (employee.discountpercent/100));
}

假设您真正尝试创建函数,因为您尝试传递参数并使用括号等

voidLastTransaction : function(){
    this.total -= this.lastTransactionAmount;
    this.lastTransactionAmount = 0;
},
applyStaffDiscount : function(employee){
    this.total -= (this.total * (employee.discountpercent/100));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-29
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 2018-06-07
    • 2023-03-04
    相关资源
    最近更新 更多