本文深入解析JavaScript中类的继承机制,详细演示了如何在构造函数中定义公有、私有及静态属性和方法。通过完整的HTML与JavaScript代码示例,展示了利用原型链实现继承的具体步骤,包括父类定义、子类扩展以及静态成员的访问方式,帮助开发者掌握JS面向对象编程的核心技巧。
JavaScript 继承与成员方法定义基础
本文旨在探讨JavaScript中继承机制的具体实现方式,并展示如何规范书写类的公有、私有及静态方法。首先提供完整的HTML源码作为基础示例。
完整代码示例与执行逻辑
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JS类的继承的实现</title>
<script type="text/JavaScript">
//定义父类及公有、私有、静态属性及方法
function parent(){
var pname = "private";//私有属性
var pfun = function(){//私有方法
console.log("调用类的私有方法");
}
this.getName=function(name){//公有方法
this.name = name;//公有属性
return pname+"私有属性+公有属性"+this.name+"调用类的共有方法";
}
}
//定义静态属性及方法
parent.staticPro = "static property";
parent.staticFun = function(){
var str = "invoke class's static function";
return str;
}
//方法1 原型链继承
function childOne(){};
childOne.prototype = new parent();
//方法2 call/apply继承
function childTwo(){
parent.call(this);
}
function init(){
var c1 = new childOne();
console.log(c1.getName("child1"));//
console.log(c1.name);
var c2 = new childTwo();
console.log(c2.getName("child2"));
console.log(c2.name);
console.log(parent.staticPro);
console.log(parent.staticFun());
}
</script>
</head>
<body onload="init();">
<header>页眉</header>
</body>
</html>
上述内容完整展示了JavaScript继承的实现细节以及各类成员方法的定义与调用方式,供读者参考与实践。