Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我是否需要添加属性以生成所需的输出?_Javascript_Arrays - Fatal编程技术网

Javascript 我是否需要添加属性以生成所需的输出?

Javascript 我是否需要添加属性以生成所需的输出?,javascript,arrays,Javascript,Arrays,我得到了三个期望输出中的一个(第二个测试),但不知道如何得到另外两个。我还包括了下面的测试代码 功能车(汽油,每加仑){ 这个。气体=气体; 如果(this.gas您缺少else语句 function car(gas, mpg) { this.gas = gas; if (this.gas <= 0){this.empty = true;} else{this.empty = false;} this.mpg = mpg; //this.rang

我得到了三个期望输出中的一个(第二个测试),但不知道如何得到另外两个。我还包括了下面的测试代码

功能车(汽油,每加仑){
这个。气体=气体;

如果(this.gas您缺少else语句

 function car(gas, mpg) {
    this.gas = gas;
    if (this.gas <= 0){this.empty = true;}
    else{this.empty = false;}
    this.mpg = mpg;
    //this.range = gas * mpg;
    //this.empty = empty;

    this.drive = function (miles) {
    this.gas -= miles/this.mpg;
    if(this.gas <=0) {
    this.empty = true;
    }else{
     this.empty = false;
     }
    };

    this.fill = function (gallons){
    if (this.gas <=0) {
    this.fill = false;}
    else{this.fill = true;}
    };
    }
功能车(汽油,每加仑){
这个。气体=气体;

如果(this.gas比其他任何东西都重要,那么编程就是密切关注逻辑和细节

如果从未将
empty
设置为
false
,则不会得到
false
empty
,因此您的第一个
控制台.log
无法工作,因为您从未将
empty
设置为任何值


您的第二个
console.log
确实显示
true
,因为
drive
this.gas正确设置
true
。该代码中没有数组。我已将您的代码移到可运行的堆栈片段中,并将
console.log
替换为
警报
。而不是
如果(条件){value=true;}否则{value=false;}
,只需使用
value=condition;
非常感谢这有助于分配!
Object.defineProperty(this, "empty", {
    get: function() {
        return this.gas <= 0;
    }
});
this.gas = Math.max(0, this.gas - miles/this.mpg);