1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lisniuse-ClassJs

Клонировать/Скачать
README.md 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
无鞘之刃 Отправлено 19.11.2016 11:58 b6bb19b
  ____ _                   _ ____  
 / ___| | __ _ ___ ___    | / ___
| |   | |/ _` / __/ __|_  | \___ \
| |___| | (_| \__ \__ \ |_| |___)
 \____|_|\__,_|___/___/\___/|____/
                                   

一、简介

重写了JS设计模式中类的构造方式,让JS定义类的代码可读性更高更优雅,让JS更接近主流语言中定义类的方式。 在ES6的语法糖还未全面普及之前,我们先来用ES5模拟类吧。

首先在页面中引入:

<script src="ClassJs.js"></script>

类的定义方法

//定义
Class.$("Person",{
	_constructor : function (name,age) { 
		var me = this;
		me.name = name;
		me.age = age;
	},
	showName: function () {
		alert(this.name);
	},
	showAge: function () {
		alert(this.age);
	},
	setName: function (name) {
		this.name = name;
	}
});

//继承
Class.$("Man").extends("Person",{
	_constructor : function (name,age,sex) {
		_baseCon(name,age);
		var me = this;
		me.sex = sex;
	},
	showSex: function(){
		alert(this.sex);
	},
	setSex: function(sex){
		this.sex = sex;
	},
});

类定义后的实例化:


//父类实例化
var Bob = new Person("Bob","28"); 
Bob.showName();
Bob.showAge();

//子类实例化
var Jack = new Man("Jack","18","man"); 
Jack.showName();
Jack.showSex();

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lisniuse-ClassJs.git
git@api.gitlife.ru:oschina-mirror/lisniuse-ClassJs.git
oschina-mirror
lisniuse-ClassJs
lisniuse-ClassJs
master