Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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 在node.js中不断出现“x不是函数”错误_Javascript_Node.js_Ecmascript 6_Bind_Es6 Class - Fatal编程技术网

Javascript 在node.js中不断出现“x不是函数”错误

Javascript 在node.js中不断出现“x不是函数”错误,javascript,node.js,ecmascript-6,bind,es6-class,Javascript,Node.js,Ecmascript 6,Bind,Es6 Class,我试图在另一个方法中调用一个方法,但我得到错误x不是一个函数。 这些方法在同一个类中。 我在node中是新成员,所以我根本不了解它的错误。我的代码是: 文件app.js: const express=requireexpress; const-app=express; const pkg=require./app/b.js; 常数端口=3001; pkgHi; app.listenport,=>console.logapp正在端口+端口上运行; 我的b.js文件如下所示: 类文件{ 伊斯特{ /

我试图在另一个方法中调用一个方法,但我得到错误x不是一个函数。 这些方法在同一个类中。 我在node中是新成员,所以我根本不了解它的错误。我的代码是:

文件app.js:

const express=requireexpress; const-app=express; const pkg=require./app/b.js; 常数端口=3001; pkgHi; app.listenport,=>console.logapp正在端口+端口上运行; 我的b.js文件如下所示:

类文件{ 伊斯特{ //一些不相关码 xstr } 沙尔格{ //一些代码 } } const obj=新文件 module.exports=obj.y
注意:在调用x方法之前,我尝试使用这个方法,比如:this.xstr;但这是未定义的,因为您试图调用当前对象的方法,而不是全局方法 您应该使用此函数调用它,以便从当前对象调用它 您还需要手动或使用将方法绑定到构造函数中创建的对象

类文件{ 建造师{ this.x=this.x.bindthis; //或者这个; } 伊斯特{ ... 这个.xstr; ... } 沙尔格{ ... } }
当您试图调用当前对象的方法而不是全局方法时 您应该使用此函数调用它,以便从当前对象调用它 您还需要手动或使用将方法绑定到构造函数中创建的对象

类文件{ 建造师{ this.x=this.x.bindthis; //或者这个; } 伊斯特{ ... 这个.xstr; ... } 沙尔格{ ... } }
更干净的绑定方法是在构造函数中进行绑定

类文件{ 建造师{ this.y=this.y.bindthis; this.x=this.x.bindthis; } 伊斯特{ this.xstr;//这里需要这个。 } 沙尔格{ //一些代码 } } const obj=新文件; module.exports=obj.y; 那么你应该可以很好地使用它


您可以在JavaScript中了解更多关于绑定的用法,或者。

更干净的绑定方法是在构造函数中进行绑定

类文件{ 建造师{ this.y=this.y.bindthis; this.x=this.x.bindthis; } 伊斯特{ this.xstr;//这里需要这个。 } 沙尔格{ //一些代码 } } const obj=新文件; module.exports=obj.y; 那么你应该可以很好地使用它


您可以在JavaScript或。

->this.xstr中了解绑定用法的更多信息,甚至可以使用module.exports=obj.y.bindobjyes绑定它,但正如我所提到的,这被检测为未定义。让我尝试bindingUse module.exports=obj.y.bindobj,然后是this.x。。will work.bind方法有效:谢谢大家->this.xstr,您甚至可以使用module.exports=obj.y.bindobjyes将其绑定,但正如我提到的,这被检测为未定义。让我尝试bindingUse module.exports=obj.y.bindobj,然后是this.x。。bind方法有效:谢谢你们