下面javascript怎么理解?

(obj.inner.print)() 和 (obj.inner.print = obj.inner.print)()怎么理解?


var num = 10;

var obj = {

    num:8,

    inner: {

        num: 6,

        print: function () {

            console.log(this.num);

        }

    }

}

num = 888;

obj.inner.print(); // 6

var fn = obj.inner.print;

fn(); //888

(obj.inner.print)(); //6

(obj.inner.print = obj.inner.print)(); //888 


慕妹3146593
浏览 663回答 2
2回答

UYOU

第一个是运行函数,(function)(),自运行匿名函数。第二个你可以想象一个你吃鸡腿,你把鸡腿拿在左手吃换成了拿右手吃~楼上说的很对~

凤凰求蛊

(obj.inner.print)()其实就是obj.inner.print()而(obj.inner.print = obj.inner.print)()是一个赋值操作,返回一个函数,再调用这个函数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript