JavaScript OO不XX 学习总结
一、废话 总觉得面向对象这东西,如果做的东西不是十分复杂的话,其实不太有场景能用上。最近重新学习了《JavaScript高级程序设计》中面向对象程序部分的知识,有一些收获,特此记录。 二、JavaScript创建对象最佳实践 2.1 理论 JavaScript是基于原型的语言,创建对象比较常用的方法是采用“构造函数+挂载原型”的方式。 举个例子: var Engineer = function (name) { this.name = name; }; Engineer.prototype.codeWith = function (tools) { return this.name + ' is coding with ' + tools.join(','); }; Engineer.prototype.solve = function (problem) { return this.name + ' is solving ' + problem; }; var a = new Engineer('kohpoll'); var b = new Engineer('xp'); console.log(a, b); console.log(a.codeWith(['vim'])); console.log(a.solve('oo')); 这段代码执行后,事实上的结构是这样的: