JavaScript 面向对象编程的五种实现方式解析

作者:异步漫步时间:2026-10-24 05:48:03浏览:169

本文详细解析JavaScript中实现面向对象编程的五种常见写法,包括构造函数模式、工厂模式、单例对象、对象字面量以及Function构造函数。通过对比各方法的代码结构、优缺点及适用场景,帮助开发者理解不同实现方式的差异,探讨哪种写法更为规范,特别针对最后两种高频出现的写法进行深入分析。

JavaScript面向对象五种实现方式概述

Java代码


代码如下:

 
第一种:构造函数模式//第一种实现方式
function Circle(r) {
this.r = r;
} 
Circle.PI = 3.14159;
Circle.prototype.area = function() {
return Circle.PI * this.r * this.r;
} 
var c = new Circle(1.0);
alert(c.area());

Java代码


代码如下:

 
第二种:工厂模式//第二种实现方式
var Circle = function() {
var obj = new Object();
obj.PI = 3.14159;
obj.area = function( r ) {
return this.PI * r * r;
} 
return obj;
} 
var c = new Circle();
alert( c.area( 1.0 ) );

Java代码


代码如下:

 
第三种:单例对象模式//第三种实现方式
var Circle = new Object();
Circle.PI = 3.14159;
Circle.Area = function( r ) {
return this.PI * r * r;
} 
alert( Circle.Area( 1.0 ) );

Java代码


代码如下:

 
第四种:对象字面量模式//第四种实现方式
var Circle={
"PI":3.14159,
"area":function(r){
return this.PI * r * r;
} 
}; 
alert( Circle.area(1.0) );

Java代码


代码如下:

 
第五种:Function构造函数模式//第五种实现方式
var Circle = new Function("this.PI = 3.14159;this.area = function( r ) {return r*r*this.PI;}");
alert( (new Circle()).area(1.0) );

五种写法对比与规范讨论

讨论这五种写法的优缺点及规范性,重点关注后两种常见用法。

作者最新文章