0

JSON.stringify(this.Master.Func)の代わりに「未定義」を返す理由が不思議ですfunction() { ... }

関数自体は を追加して実行し()ます。

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

コード

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

1 に答える 1

0

関数テキストを見たい場合はtoString、このようにメソッドを呼び出すだけです

console.log(this.Master.Func.toString()); 
于 2013-11-10T21:03:29.337 に答える