JavaScript,继承的函数打印为undefined

时间:2013-11-10 20:21:22

标签: javascript json oop stringify

我想知道为什么JSON.stringify(this.Master.Func)会返回'undefined'而不是function() { ... }

函数本身通过添加()来执行。

JSfiddle:http://jsfiddle.net/t4ngY/

CODE

var $ = {}; // some global

var Master = 
    {
        property: 'Property',

        Func: function()
        {
            console.log('I am Func inside Master');
        },

        PassToGlobal: function()
        {
            $.master = this;
        }
    };

Master.PassToGlobal();

var Slave =
    {
        Master: $.master,

        ShowFunc: function()
        {
            console.log(JSON.stringify(this.Master.Func)); //returns undef
            this.Master.Func(); //prints `I am Func inside Master`
        }
    }

Slave.ShowFunc();

1 个答案:

答案 0 :(得分:0)

如果你想查看功能文本,你可以简单地调用这样的toString方法

console.log(this.Master.Func.toString());