品<设计模式>
第一章 灵活的语言—JS
全局函数——全局变量——全局作用域的污染
白菜0:
function checkName () {…}
function checkAge () {…}
白菜1:
var checkName = function () {…}
var checkAge = function () {…}
白菜2:
var checkObj = function () {
checkName: function () {…},
checkName: function () {…}
}
checkObj.checkName();
白菜3:
var CheckObj = function () {};
CheckObj.checkName = function () {…}
CheckObj.checkAge = function () {…}
CheckObj.checkName();
白菜4:
var CheckObj = function () {
return {
checkName: function () {…},
checkAge: function () {…}
}
}
var a = CheckObj();
a.checkName();
白菜5:
var CheckObj = function () {
this.checkName = function () {…}
this.checkAge = function () {…}
}
var a = new CheckObj();
a.checkName();
白菜6:
var CheckObj = function () {};
CheckObj.prototype.checkName = function () {… return this;}
CheckObj.prototype.checkAge = function () {… return this;}
var a = new CheckObj();
a.checkName().checkAge();
白菜7:
var CheckObj = function () {};
CheckObj.prototype = {
checkName: function () {… return this;},
checkAge: function () {… return this;}
}
var a = new CheckObj();
a.checkName().checkAge();
白菜8:
Function.prototype.checkAge () {};
var a = function () {};
a.checkAge();
白菜9:
Function.prototype.addMethod = function (name, fn) {
this[name] = fn;
return this;
}
var methods = function () {};
或
var methods = new Function();
methods.addMethod(‘checkName’, function () {… return this;});
methods.addMethod(‘checkAge’, function () {… return this;});
methods.checkName();
methods.checkAge();
methods.checkName().checkAge();
白菜10:
Function.prototype.addMethod = function (name, fn) {
this.prototype[name] = fn;
return this;
}
var Methods = function () {};
Methods.addMethod(‘checkName’, function () {… return this;});
Methods.addMethod(‘checkAge’, function (0 {… return this;})
var a = new Methods();
a.checkName().checkAge();