鍍金池/ 問(wèn)答/HTML/ 下面javascript怎么理解?

下面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 
回答
編輯回答
笑浮塵

第一個(gè)是運(yùn)行函數(shù),(function)(),自運(yùn)行匿名函數(shù)。第二個(gè)你可以想象一個(gè)你吃雞腿,你把雞腿拿在左手吃換成了拿右手吃~樓上說(shuō)的很對(duì)~

2017年11月2日 06:40
編輯回答
懷中人
(obj.inner.print)()

其實(shí)就是

obj.inner.print()

(obj.inner.print = obj.inner.print)()

是一個(gè)賦值操作,返回一個(gè)函數(shù),再調(diào)用這個(gè)函數(shù)

2017年5月14日 12:17