鍍金池/ 問(wèn)答/HTML/ 在js中的原型如何添加函數(shù)?

在js中的原型如何添加函數(shù)?

目前封裝的表格插件形式如下:

(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)存泄漏嗎?或者有更好的方法嗎?

回答
編輯回答
挽歌

1、不會(huì)生成閉包,具體的可以看閉包的定義
2、內(nèi)存泄漏和數(shù)據(jù)有沒(méi)有被釋放有關(guān),如果你只是用完就算了,沒(méi)有在別的地方引用,那么不會(huì)造成內(nèi)存泄漏
3、如果你要定義很多函數(shù),那么都放在rend里,會(huì)影響代碼的可閱讀性,可以把函數(shù)定義在Table.prototype上

2017年7月2日 21:12
編輯回答
咕嚕嚕

完全沒(méi)有問(wèn)題,經(jīng)常在方法內(nèi)部定義一些只有該方法內(nèi)部使用的方法,即便只是為了代碼的可讀性也是需要的。

Table.prototype = {
    render:function(config){
        function a(){}
        
        function b(){}
        
        ......
    }

}
2018年3月27日 23:36
編輯回答
舊螢火

這樣寫(xiě)完全OK啊

2017年4月26日 19:00
編輯回答
女流氓
Table.prototype.addFunc = function(){}
2018年4月4日 00:28