Javascript 我不知道';我不明白为什么这个数组不';不行?

Javascript 我不知道';我不明白为什么这个数组不';不行?,javascript,arrays,Javascript,Arrays,我的数组没有返回,我做错什么了吗 代码如下: console.log(rest[1]); var rest = ["First Restaurant","Second Restaurant", "Third Restaurant"]; 首先,考虑元素的顺序,在声明之前有控制台.log(REST(1))。诸如calculate()之类的函数将被提升到顶部,这意味着您可以安全地将其分配到第一行的var price=calculate() 第二,你有: var rest = ["First Res

我的数组没有返回,我做错什么了吗

代码如下:

console.log(rest[1]);

var rest = ["First Restaurant","Second Restaurant", "Third Restaurant"];

首先,考虑元素的顺序,在声明之前有控制台.log(REST(1))。诸如calculate()之类的函数将被提升到顶部,这意味着您可以安全地将其分配到第一行的

var price=calculate()

第二,你有:

var rest = ["First Restaurant", "Second Restaurant", "Third Restaurant"];
    restPrice = new Array(124, 48, 268);
您将看到restPrice不会被分配为
var
,您使用的是分号而不是coma:

var rest = ["First Restaurant", "Second Restaurant", "Third Restaurant"],
     restPrice = new Array(124, 48, 268);
虽然您对变量和函数的顺序有一种感觉,但我建议您改为这样编写文件:

function calcute(bill) {
    if (bill < 50) {
        return bill * 0.2;
    } else if (bill >= 50 && bill < 200) {
        return bill * 0.15;
    } else if (bill > 200) {
        return bill * 0.1;
    }
}

var price = calcute();

var rest = ["First Restaurant", "Second Restaurant", "Third Restaurant"];
var restPrice = new Array(124, 48, 268);


console.log(rest[1]); // Outputs: "Second Restaurant"
console.log(restPrice); // Outputs: [ 124, 48, 268 ] 
var cal = calcute(restPrice[0]);
console.log('Cal: ', cal); // Outputs: Cal:  18.599999999999998
功能计算(账单){
如果(账单<50){
退货单*0.2;
}否则,如果(账单>=50和账单<200){
退货单*0.15;
}否则,如果(账单>200){
退货单*0.1;
}
}
var价格=计算();
var rest=[“第一餐厅”、“第二餐厅”、“第三餐厅”];
var restPrice=新数组(124,48,268);
console.log(rest[1]);//产出:“第二餐厅”
console.log(restPrice);//产出:[124、48、268]
var cal=计算(重置价格[0]);
console.log('Cal:',Cal);//输出:校准值:18.59999998

注意:函数声明为
calculate
,您的意思是
calculate

calculate(一些数字);试试这个当你调用calculate函数时,你应该给出它的输入。我想把数字尝试到一个数组中,虽然我想知道为什么数组不起作用,不是函数1)在没有参数的情况下不要调用
calcute
;2)在定义
calcute
之前不要调用它;3)在定义它之前不要访问
rest
的属性。