問題一:一個方法封裝在一個對象中時,直接封裝和通過prototype封裝兩種方法有什么區別?var Apple = {};
Apple.prototype.size = function size() { // do something};
Apple.size = function size() { // do something};var app1 = new Apple();var app2 = new Apple();關于prototype,我的印象是好像和原型的動態性、prototype的方法時公用的什么的有關系,一旦app1的size改動會影響到app2的size。但是在我目前接觸的項目中,大概是這樣的var City = function city(node) { this.node = document.querySelector(node); this.size = null;
……
…… this.location = {};
};
City.prototype.a = function a() {};
City.prototype.b = function b() {};
City.prototype.c = function c() {};
City.x = function x() { // do something}問題二:這里不涉及對實例的改動,但是為什么最后的x方法不用原型而要直接這樣寫(哈哈,這種寫法叫什么?賦值?)呢?
方法直接封裝在對象中和通過prototype封裝有什么區別
森林海
2018-08-13 14:09:30