阿晨1998
2019-03-29 23:19:43
目前封裝的表格插件形式如下:(function ($) { function Table() { this.config = { //默然參數(shù) } }; Table.prototype = { //原型中的table方法 rend: function (config) { return this; } }; window.Table = Table;}(jQuery));插件調(diào)用方式:var abc = new Table();abc.rend({ ele:'#table1'});問(wèn)題:有一些屬于rend自定義的函數(shù)我想寫(xiě)入HyTable.prototype的rend中,但是這樣會(huì)造成閉包嗎?如果定義的函數(shù)多了會(huì)造成內(nèi)存泄漏嗎?或者有更好的方法嗎?
4 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
1、不會(huì)生成閉包,具體的可以看閉包的定義
2、內(nèi)存泄漏和數(shù)據(jù)有沒(méi)有被釋放有關(guān),如果你只是用完就算了,沒(méi)有在別的地方引用,那么不會(huì)造成內(nèi)存泄漏
3、如果你要定義很多函數(shù),那么都放在rend里,會(huì)影響代碼的可閱讀性,可以把函數(shù)定義在Table.prototype上

www說(shuō)
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
完全沒(méi)有問(wèn)題,經(jīng)常在方法內(nèi)部定義一些只有該方法內(nèi)部使用的方法,即便只是為了代碼的可讀性也是需要的。
Table.prototype = {
render:function(config){
function a(){}
function b(){}
......
}
}
添加回答
舉報(bào)
0/150
提交
取消