Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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-未捕获类型错误:tri.Area不是函数_Javascript - Fatal编程技术网

Javascript-未捕获类型错误:tri.Area不是函数

Javascript-未捕获类型错误:tri.Area不是函数,javascript,Javascript,所以我开始学习JS的ab it。这可能有点基本,因为我昨天开始用它。所以我已经走了这么远,我实际上得到了一个错误,我一直在试图找出这过去的2-3个小时没有任何结果 我试图从height和width中获取值,在这里我创建了一个自己的函数(area),该函数应该从height*width/2生成一个数学值,然后将其返回到area()。然后在console.log中获取该值。很简单,但是我在最后一个console.log上遇到了一个错误,原因很奇怪,我不知道为什么 function x(a, b) {

所以我开始学习JS的ab it。这可能有点基本,因为我昨天开始用它。所以我已经走了这么远,我实际上得到了一个错误,我一直在试图找出这过去的2-3个小时没有任何结果

我试图从height和width中获取值,在这里我创建了一个自己的函数(area),该函数应该从height*width/2生成一个数学值,然后将其返回到area()。然后在console.log中获取该值。很简单,但是我在最后一个console.log上遇到了一个错误,原因很奇怪,我不知道为什么

function x(a, b) {

    return { 
        a: a, b: b
        }
}

function Area(a, b) { 
    this.a = a; 
    this.b = b; 
    this.y = this.a* this.b / 2; 
    return y; 
}




var Snorlax = x(12, 14);
console.log(Snorlax.a); 
console.log(Snorlax.b); 
console.log(Snorlax.Area());   <---- Issue here

在这种情况下,这是正确的?

您没有将
a,b
传递到
Area()函数

Try:
console.log(区域(snorax.a、snorax.b))


区域函数返回
this.y


未定义函数的原因是您在
x
对象(不存在)上调用了区域函数。你需要像上面那样直接调用面积函数。

三角形()在哪里?@tushar我不知道这是怎么回事。这应该是一个X哈哈。我想我是从别的地方复制粘贴的。但是还是一样的问题。@evolutionxbox这是复制粘贴的问题,先生。问题不是这样。很抱歉,我粘贴到这里时发生了一些事情。现在应该是:)
Area
不是
x
返回y的方法
应该是
返回这个.y
否则你会得到一个引用错误。在return语句中仍然存在未定义的
y
的问题。在这种情况下,面积函数中的数学将如何处理?“我想如果是那样的话,它会跳过它吗?”Thriftrofit-请仔细检查你的英语,很难知道你的英语水平asking@thrillOfit不确定你的问题是什么?好的,我会做一个编辑。我为我的英语感到抱歉,我现在会尝试更好地定义它。给我一分钟。
    return { 
        a: a, b: b
        }
}

function Area(a, b) { 
    return a * b / 2;
}


var Snorlax = x(12, 14);
console.log(Snorlax.a); 
console.log(Snorlax.b); 
console.log(Area(Snorlax.a, Snorlax b));