1樓:盧高健
這個還是看你呼叫了幾次getSingle,example=getSingle();example2=getSingle();這樣就會有兩個result,不是乙個,建議可以好好看看閉包
2樓:niaodan2b
你的表述有點亂,我嘗試理解為:為什麼result裡既儲存了乙個div又儲存了乙個iframe,是這個意思嗎?
很簡單因為有兩個result嘛,result是getSingle函式裡面的區域性變數,區域性變數當然是每次呼叫函式都會建立啦。
div那裡呼叫了一次getSingle,iframe那裡又呼叫了一次getSingle,兩次呼叫就產生了兩個result,又因為閉包的原因,這兩個result都不能隨著getSingle的結束而銷毀,
3樓:梅雪香
你需要理解作用域,作用域鏈,閉包,才能比較透徹的理解這個問題。
打個比方說,呼叫 getSingle ,就像婚姻登記, 你可以去登記,別人也可以。
你登記以後,可以有自己的孩子,別人可以有別人的孩子,但在孩子出生以前,你們的孩子都只是乙個宣告,也就是你可以有,但還沒有,別人也可以有,但也還沒有。這個婚姻現場就相當於作用域了。
設計模式中最少知道原則與 getparent 怎麼實現?
輪子哥的例子有getParent合理,因為UI是樹狀結構。遊戲buff是單層結構,而且一般buff很有可能互相有影響,還會因為角色狀態不同又有不同影響。如果邏輯都寫在buff裡,難免不會發生每個buff要必須知道其他buff的實現的情況。更好的辦法是每個buff只保留剩餘時間之類的最基本實現,buf...
JavaScript 的語言設計有哪些缺陷?
迷途書童 Object instanceof Function true Function instanceof Object true 你中有我,我中有你,理解起來很費勁 Function.constructor Function.constructor.constructor.delete gl...
JavaScript裡怎麼區分複雜型別與原始型別
A yon obj null string number boolean symbol bigint includes typeof obj undefined 可以忽略 papa pa 原始型別不該是 string number boolean null undefined symbol bigi...