属性(方法)在Person对象中应用到了tilo对象的原型,我们可以重新定义在tilo对象中的属性,如果我们想要它不一样的话。上面例子中,我们使用Object.create(),然而,IE8中不支持这个比较新的方法,在这种情况下,我们可以模拟他的行为:
var vehiclePrototype = {
init: function (carModel) {
this.model = carModel;
},
getModel: function () {
console.log( “The model of this vehicle is ” + this.model);
}
};
function vehicle (model) {
function F() {};
F.prototype = vehiclePrototype;
var f = new F();
f.init(model);
return f;
}
var car = vehicle(“Ford Escort”);
car.getModel();
唯一不好的地方就是这个方法你没法指定为可读的属性,而使用Object.create()时可以指定。不管怎样,原型模式展示了对象如何继承自其它对象。
结构化模式:
结构化设计模式在当你想理解一个系统如果工作的时候显得非常有帮助。它能使应用扩展方便,维护方便。我们将讨论以下两种模式:组合模式和门面模式
组合模式:
组合模式可以理解为一个对象的组合可以像单个对象一样以一致的方式处理。这是什么意思呢?好吧,考虑下面这个例子:
$(‘.myList’).addClass(‘selected’);
$(‘#myItem’).addClass(‘selected’);
//dont do this on large tables, it‘s just an example.
$(“#dataTable tbody tr”).on(“click”, function(event){
alert($(this).text());
});
$(’#myButton‘).on(“click”, function(event) {
alert(“Clicked.”);
});
(编辑:PHP编程网 - 黄冈站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|