Javascript学习笔记--伪类和继承
Javascript 中继承可以分为两大类(非构造函数的继承和构造函数的继承),先从简单的说起,了解一下基于构造函数的继承。 Javascript 是一门基于原形的的语言,本身并没有类的概念,所以只能用模拟基于类的模式来实现类和类的继承。用构造函数来模拟类的概念。例如,我们定义一个 Person 类。 function Person(name, age) { this.name = name; this.age = age; } 上面就定义了一个 Person 类,包含 name 和 age 属性,下面来调用这个类。 var somebody = new Person("John", 18); alert(somebody.name); // John alert(somebody.age); // 18 OK,到这里就完成了一个简单的类的构造函数和调用方法。接下来,进一步了解类的继承,比如需要一个 Developer 的类,Developer 类需要继承 Person 类,此外还要包含工程师所会的语言(lang)和性别(sex)。还是用构造函数的方法来写这个类。 function Developer(name, age, sex, lang) { this.person = Person; this.person(name, age); delete this.person; this.sex = sex; this.lang = lang; } Developer 类就可以继承 Person 中的属性了,尝试调用一下。 var coder = new Developer("Bill", 22, "Male", "Javascript"); alert(coder.name); // Bill alert(coder.age); // 22 alert(coder.sex); // Male alert(coder.lang); // Javascript Developer 类中对于 Person 类的继承方法非常好理解,由于 Javascript 是基于函数的,而 Person 这个构造函数本质上也是函数,那么就可以用调用 Person 的方法继承它。看到这里可能有人会问,既然通过对构造函数的调用可以实现继承,那么为什么不直接使用 ...