(inner.func)() 這段代碼。 第一個(gè)括號(hào)里應(yīng)該是會(huì)返回一個(gè)函數(shù)的吧,如果看成下面這樣(inner.func)() 等價(jià)于這樣的話 那么這個(gè)函數(shù)的this就是window了,那么this.out就是10,顯然是不對(duì)的我覺得可能可以看成是這樣的(inner.func)() 等價(jià)于所以是怎么去理解這個(gè)括號(hào)運(yùn)算符呢?你們?cè)趺纯??。。。。。。。。。。。額。。這里補(bǔ)充一下。。??赡芪覜]說清楚,你們說的什么this的指向。。這些我都懂其實(shí)我是想問問js的括號(hào)運(yùn)算符,看看你們?cè)趺蠢斫饩褪?inner.func)() 這樣一個(gè)表達(dá)式 (inner.func) 給 inner.func 加上這么一個(gè)括號(hào)能讓其發(fā)生什么變化嗎? 看起來是并沒有變化。 因?yàn)槲铱吹狡渌胤接腥苏f()這個(gè)運(yùn)算符會(huì)去取其中函數(shù)的引用。所以上面的兩段代碼(function () { var out = 30; return this.out;
})()這一段,意味著取得只是func的引用,這顯然是不符合真實(shí)的運(yùn)行結(jié)果的。而我自己模擬出來的一段代碼var newFunc = func.bind(inner) // 前一個(gè)括號(hào)返回了這個(gè)newFunc() // 第一個(gè)括號(hào)運(yùn)行可以比較好的符合(inner.func) 的實(shí)際效果
js 語法問題
回首憶惘然
2018-08-11 10:09:27