[整理]JavaScript最流行的2种定义类的方式
转自:http://www.cnblogs.com/greki/archive/2009/06/02/1494863.html
其它方式:工厂方式,构造函数方式,原型方式都各有各的大缺陷,这里就不一一介绍了,想了解的可以去看一下这本著作的第3章节。
1. 混合构造函数/原型方式
function Car(sColor, iDoors, iMpg) {
this .color = sColor;
this .doors = iDoors;
this .mpg = iMpg;
this .drivers = new Array(“Mike”, “Sue”);
}
Car.prototype.showColor = function () {
alert( this .color);
};
var oCar1 = new Car(“red”, 4 , 23 );
var oCar2 = new Car(“blue”, 3 , 25 );
oCar1.drivers.push(“Matt”);
alert(oCar1.drivers); // outputs “Mike,Sue,Matt”
alert(oCar2.drivers); // outputs “Mike,Sue”
优点:具有其它方式的优点而没有其它方式的缺点
不足:封装性欠缺
2 . 动态原型方式
function Car(sColor, iDoors, iMpg)
{
this .color = sColor;
this .doors = iDoors;
this .mpg = iMpg;
this .drivers = new Array(“Mike”, “Sue”);
if ( typeof Car._initialized == “undefined”)
{
Car.prototype.showColor = function ()
{
alert( this .color);
} ;
Car._initialized = true ;
}
}
优点:封装性比上一个方式更好
不足:就是看上去奇怪一点,呵呵
总之,以上2种方式是目前最广泛使用的,尽量使用它们避免不必要的问题。
相关文档:
Definition and Usage
定义与用法The constructor property is a reference to the function that created an object.
constructor属性是所建立对象的函数参考Syntax
语法object.constructor
Example 1
举例
In this example we will show how to use the constructor property:
在这个举例中我们将展示如何使用cons ......
一,脚本程序与javascript
嵌套在HTML中的语言称为脚本语言,浏览器必须具有脚本引擎对嵌入HTML中的脚本程序进行解释。
eg:
<HTML>
<script language="JavaScript">
//VBScript,Jscript,ECMAScript
<!--
alert(n ......
<SCRIPT language=javaScript>
<!--
now = new Date(),hour = now.getHours()
if(hour < 6){document.write("凌晨好!")}
else if (hour < 9){document.write("早上好!")}
else if (hour < 12){document.write("上午好!")}
else if (hour < 14){document.write("中午好!")}
else if (hour &l ......
根据身份证号码取得生日与性别,并判断18位身份证的正确与错误:
function showBirthday(val){
var birthdayValue;
if(15==val.length){//15位身份证号码
birthdayValue = val.charAt(6)+val.charAt(7);
if(parseInt(birthdayValue)<10){
birthdayValue = '20'+birthdayValue;
}else{
birthdayValue = '1 ......