类的定义
严格的说,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();
运行代码,输出如下内容:
嗨!大家好,我的名字是 小丽 ,性别是 女 。