工作中需要用到封装一个JS对象,但是又想在构造这个对象的时候直接进行初始化。
刚开始的想法是,在new出这个对象后再调用它的一个方法进行初始化。后发现如下方法即可:
function ArrayToHTML(array) { var a = new Array(); //目的是初始化此变量 if (!ArrayToHTML.prototype.flag) { ArrayToHTML.prototype.flag = true; ArrayToHTML.prototype.init= function(o) { a = o; }; } this.init(array); //对象构造时调用此方法 /** * 获取下一级下拉框 * @param pid 父ID */ this.getOption = function(pid) { var options = ""; for (var i = 0; i < a.length; i++) { if (a[i][2] == pid) { options += "<option value=" + a[i][0] + " title='" + a[i][1] + "'>" + a[i][1] + "</option>"; } } return options; }; }