Javascript 在node.js中不断出现“x不是函数”错误
我试图在另一个方法中调用一个方法,但我得到错误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.yJavascript 在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方法之前,我尝试使用这个方法,比如: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方法有效:谢谢你们