JavaScript入门教程

JavaScript简介
JavaScript语法基础
JavaScript流程控制
JavaScript函数
面向对象编程
JavaScript事件
JavaScript DOM
正则表达式
JavaScript BOM
AJAX

专题分析

浏览器兼容性
JS优化
Web前端开发规范
编辑器推荐
总结和笔记

学习助手

对象参考手册
ECMAScript分析
数据中心
QQ交流群

JavaScript类的定义和实例化

类的定义

严格的说,JavaScript 是基于对象的编程语言,而不是面向对象的编程语言。

在面向对象的编程语言中(如Java、C++、C#、PHP等),声明一个类使用 class 关键字。

例如:
public class Person{}

但是在JavaScript中,没有声明类的关键字,也没有办法对类的访问权限进行控制。

JavaScript 使用函数来定义类。


语法:
function className(){
    // 具体操作
}

例如,定义一个Person类:
function Person() {
    this.name=" 张三 ";  // 定义一个属性 name
    this.sex=" 男 ";  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + "。");
    }
}
说明:this 关键字是指当前的对象。

创建对象(类的实例化)

创建对象的过程也是类实例化的过程。

在JavaScript中,创建对象(即类的实例化)使用 new 关键字。

语法:
new className();

将上面的 Person 类实例化:
var zhangsan=new Person();
zhangsan.say();
运行代码,输出如下内容:
    嗨!大家好,我的名字是 张三 ,性别是 男 。

定义类时可以设置参数,创建对象时也可以传递相应的参数。

下面,我们将Person类重新定义:
function Person(name,sex) {
    this.name=name;  // 定义一个属性 name
    this.sex=sex;  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex);
    }
}
var zhangsan=new Person("小丽","女");
zhangsan.say();
运行代码,输出如下内容:
    嗨!大家好,我的名字是 小丽 ,性别是 女 。