我正在关注Douglas Crockford关于JavaScript变量和函数可见性的教程:http://javascript.crockford.com/private.html
我编写了以下MyClass.js文件,我正在使用node从终端运行它。下面我在终端和我的班级上显示我的输出。我不明白为什么我会退回" undefined" (而不仅仅是真的)还有,为什么我的console.log(日志)没有显示在哪里?
$ node MyClass.js
undefined
true
我的班级
function MyClass(log)
{
this.log = log;
var that = this;
function _evaluate (log)
{
console.log(log);
return true;
};
this.evaluate = function()
{
return _evaluate() ? true : false;
};
}
var myObject = new MyClass('this is a test');
console.log(myObject.evaluate());
答案 0 :(得分:2)
你没有参数调用_evaluate
,所以它打印undefined
一次(第7行),然后是true
(第19行)。
最后打印undefined
,因为您的脚本整体没有返回值。