一個(gè)不明白的問題.剛開始我學(xué)的是用函數(shù)式的寫法,而且在JS函數(shù)嵌套函數(shù)是很容易的,這么就搞定了.后來我接觸到JS的this,理解每個(gè)函數(shù)的this指向自身所屬對(duì)象,接著就開始接觸OOP的內(nèi)容了.但這里有個(gè)問題,如果我再對(duì)函數(shù)進(jìn)行嵌套,this就可能出錯(cuò)了.比如一個(gè)對(duì)象的方法里,里邊再定義函數(shù)用來作為參數(shù)傳遞..或者僅僅是forEach增加一層作用域:obj=people:['a','b',c]data:a:'aaa'b:'aaa'c:'aaa'say:->this.people.forEach(name)->console.logthis.data[name]obj.say()在函數(shù)式編程里,沒有看到this這樣其葩的功能,而在有C/Java一類語言,不常用嵌套函數(shù)的.就像兩個(gè)東西不能很好地兼容似的...但兩個(gè)都被直接拿過來用在了腳本語言里邊有時(shí)候會(huì)用一個(gè)_this來讓this穿透函數(shù)定義,但我想不是個(gè)好辦法.不知道有沒有好的方案來解決?
面向?qū)ο笾星短椎暮瘮?shù), 關(guān)鍵字 this 怎樣處理?
有只小跳蛙
2019-04-07 09:37:50