首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript,实例函数的行为

Javascript,实例函数的行为
EN

Stack Overflow用户
提问于 2013-03-06 15:14:22
回答 1查看 1.2K关注 0票数 1

我正在创建一个Node.js应用程序。我有一个具有这种结构的项目:

代码语言:javascript
复制
[Project Folder]
  |
  |---[plc]
  |     |--- plc.js
  |     |--- scheduler.js
  |
  |---[source]
  |     |--- source.js
  |
  |---[test]
        |--- test.js

文件plc.js、scheduler.js和source.js是“对象”,它们需要其他对象,并且在文件末尾有对象的“导出”。特别是,文件plc.js有一个奇怪的行为。第一,守则:

代码语言:javascript
复制
var mod_pollist     = require('./polling_list.js');     // Polling list.
var mod_operation   = require('./operation.js');        // Single operation.
var mod_scheduler   = require('./scheduler.js');        // Scheduler object.
var mod_events      = require('events');            // Event emitter
var mod_util        = require('../util.js');        // Util functions

function plc(comm_driver){
    var self = this;
    // Other variables are set here
}

// Other functions written as plc.prototype.something = function(parameters){...}

module.exports = plc;

奇怪的行为:所有其他文件的顶部都有导入plc.js (用于调度程序的var mod_plc = require('../plc/plc.js');var mod_plc = require('./plc.js'); )的代码,但只有在test.js中,它才能正常工作,事实上,如果我编写

代码语言:javascript
复制
if(PLC instanceof mod_plc)
    console.log('yes');

在文件test.js中,我可以在控制台上找到“是”,如果我在其他文件中写入相同的代码,则会获得一个错误:

代码语言:javascript
复制
if(PLC instanceof mod_plc)
                  ^
TypeError: Expecting a function in instanceof check, but got #<Object>
    at Object.<anonymous> (C:\Users\Massimo\workspace\Scada\plc\scheduler.js:16:
19)

一个“临时解决方案”可能是

代码语言:javascript
复制
if(PLC instanceof mod_plc.constructor)
    console.log('yes');

但我认为这不是真正的解决方案,因为对于所有其他对象(我编写了20多个像plc.js这样的文件),这个问题并不存在。

有什么建议吗?你需要更多的信息吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-07 13:25:11

以下是我对以上意见的总结:

鉴于此:

  • TypeError告诉您mod_plc是一个Object (不是构造函数);
  • 使用mod_plc.constructor可以给出预期的行为;

您的PLC变量似乎在某个地方被分配了一个mod_plc实例(因此不再是对预期构造函数的引用)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15251042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档