Node.js:调用未定义的函数作为对象属性不被注意

时间:2015-11-25 09:23:15

标签: javascript node.js strict

我确实注意到node.js(v4.0.0)的一个令人担忧的行为。

我有一个带有函数的对象,如下所示:

var local = {};
local.myMethod = function() {
  console.log('here I am');
};

在某个时间点,我为了调试目的而对myMethod()进行了评论 一段时间后,我在我的代码中再次调用它,忘记从函数定义中删除注释:

...
var result = local.myMethod();
...
/*
local.myMethod = function() {
  console.log('here I am');
};
*/

运行该代码时,我没有编译也没有运行时错误,所以我抓住了这个愚蠢的问题......

我要问的是:这种行为是针对性的吗? 我应该使用一些强制执行的pragma来避免这样的问题吗?

更新 对不起,这段代码没有重现问题,我确实把它缩小了太多了...
我确定在某些情况下问题显示了,但是:在调用未定义函数之前我有一个警告设置...警告打印,然后代码继续,没有通知...... undefined 函数在async。each()函数内部调用,但我还不能简化我的代码,以便在此处发布...继续尝试... < / p>

0 个答案:

没有答案