English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Краткий анализ реализации ингеританса в JavaScript и записи общих, частных и статических методов

Сегодня, когда было время,研究了 реализацию наследования в JS, вот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 = "вызов статической функции класса";
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 и написании общих, частных и статических методов. Надеюсь, что вы поддержите и похвалите tutorial!

Основной учебник
Вам может понравиться