1. 程式人生 > >js優化-prototype原型的使用

js優化-prototype原型的使用


	var builder = function (id) {
		this.init($(id));
		this.forms = [];

		/*
			this.init = function ()		//寫在內部,每個例項都會分配一個function,如果又存在大量的DOM存取,操作開銷就大了.
			{
				var $row = $("<div class='row'>").appendTo($(id).addClass("container-fluid"));	
			}
			this.addControl = function (ctrl) {
			
			}
			this.xxxxxx = function(){ }
		*/

	}

	builder.prototype.addControl = function (ctrl) {		//原型,每個例項都共享一個原型。
		this.$content.append(ctrl.view);
		var self = this;
		ctrl.on('click', function () {
			var view = this.editor.render(this.model);
			self.$editor.html('').append(view);
		});
		this.forms.push(ctrl);
	}

	builder.prototype.getData = function () {
		return this.forms;
	}

	builder.prototype.init = function ($dom) {
		var $row = $("<div class='row'>").appendTo($dom.addClass("container-fluid"));
		var $toolBox = $("<div> class='col-md-3'").appendTo($row);
		this.$content = $("<div class='col-md-6'>").appendTo($row);
		this.$editor = $("<div class='col-md-3'>").appendTo($row);
	};

	return builder;