【JavaScript学习记录】JavaScript中的类

使用别的高级语言,例如VB.NET,C#.NET,VC+6.0之后,对于类很喜欢,而在学习Javascript的初期,也曾经因为没有类而感到纠结。

在经过一段时间的摸索后,发现了Javascript类的使用方法,这里和大家分享一下。

通过一个例子,来看看JavaScript类和VB.NET类的区别与联系。

下面有一个例子,是一个VB的类,用于显示信息框:

Public Class Message
    Public msgInfo As String = ""
    Public Sub ShowMessage()
        MsgBox(msgInfo)
    End Sub
    Public Sub ShowMessage(ByVal newMessage As String)
        msgInfo = newMessage
        MsgBox(msgInfo)
    End Sub
End Class
同样用一个JavaScript的类,来显示信息框:

function Message() {
    this.msgInfo = "";
    this.ShowMessage = function(newMessage) {
        if (!newMessage) {
            //如果没有参数
            alert(this.msgInfo);
        }
        else {
            //如果有参数
            msgInfo = newMessage;
            alert(msgInfo);
        }
    }
}
function onBtnMessageClick() {
    var oMessage = new Message();
    oMessage.msgInfo = "one way";
    oMessage.ShowMessage();
    oMessage.ShowMessage("hi,way two");
}

对比之后,我们可以得到这样的几点认识:

1、JS中,function可以被new 成一个对象,所以也可以将这个函数称之为“函数类”

2、JS中的成员变量,需要用“this.”来标价,在被成员函数引用的时候,也需要使用“this.”+变量名,来引用。

3、JS中,所有的参数都是可选的,可以通过这个方法来模拟函数的重载

调用函数的时候,如果没有传递参数,则这儿参数列表中对应的变量的值就是undefined。





【JavaScript学习记录】JavaScript中的类

上一篇:.net的垃圾回收机制简述


下一篇:js中使用s(c)标签