您的位置:首页 > Web前端 > JavaScript

js的面向对象风格的封装

2016-04-22 22:20 477 查看
Talking is cheap, show me the php!!!

<!DOCTYPE html>
<html>

<head></head>

<body>
<script>
var ClassDemo = function () {

// 静态 private 变量
var private_static_var = '1111';

// 静态 private 方法
var private_static_func = function (key) {
console.trace();
return key + private_static_var;
}

// 构造函数
var _class = function (id) {
// public 变量
this.id = id;

// private 变量
var private_id = '2222';

// private 方法
var private_func = function (key) {
return private_static_func(key + this.id + private_id);
}.bind(this);

// public 方法(涉及 private 变量/方法)
this.public_func = function (key) {
return private_func(key);
}.bind(this);
}

// public 方法(不涉及 private 变量/方法)
_class.prototype.public_func2 = function (key) {
return this.public_func(key);
}

return _class;

}();

var a = new ClassDemo('hello world');
console.log(a.public_func('world hello'));
console.log(a.public_func2('hello wwwww'));
</script>
</body>

</html>

没有简单的办法实现private变量和public静态变量/方法,不过封装到这个程度够用了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP