Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript,继承的函数被打印为未定义_Javascript_Json_Oop_Stringify - Fatal编程技术网

JavaScript,继承的函数被打印为未定义

JavaScript,继承的函数被打印为未定义,javascript,json,oop,stringify,Javascript,Json,Oop,Stringify,我想知道为什么JSON.stringify(this.Master.Func)返回'undefined'而不是function(){…} 函数本身通过添加()来执行 JSfiddle: 代码 var $ = {}; // some global var Master = { property: 'Property', Func: function() { console.log('I am Func insid

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

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

JSfiddle:

代码

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();

如果您想查看函数文本,只需像这样调用
toString
方法

console.log(this.Master.Func.toString()); 
try
(新从属)的可能重复项。ShowFunc()