基于原生JavaScript封装对象模板
2017-08-05 08:45
323 查看
//样例使用对象
onload = function(){
var p1 = new Person(‘zzh’,12);
p1.sayWord();
console.log(p1.drink);
}
//创建Person对象
var Person = (function(){
})();
onload = function(){
var p1 = new Person(‘zzh’,12);
p1.sayWord();
console.log(p1.drink);
Person.test2(); console.log(Person.eat); p1.getHome(); console.log(p1.age); var p2 = new Person('hsy',12); p2.getHome(); console.log(p2.age); console.log(p1.test == p2.test); // true 证明静态私有变量共享性
}
//创建Person对象
var Person = (function(){
// 静态私有属性(只能在内部调用) var home = "china"; // 静态私有方法(只能在内部调用) function sayHome(name){ console.log(name + "'s home in " + home); } // 构造函数 function _person(name,age){ var _this = this; //构造函数安全模式,避免创建时候丢掉new关键字 if(_this instanceof _person){ // 公有属性和方法 _this.name = name; _this.getHome = function(){ sayHome(_this.name); }; _this.test = sayHome; //用于测试 // 构造器 _this.setAge = function(age){ _this.age = age + 12; }(age); }else{ return new _person(name,age); } } // 静态方法 只能被类访问 _person.test2 = function(){ console.log("you are so man"); } // 静态属性 只能被类访问 _person.eat = "eat some banana"; _person.prototype.test3 = function(){ // ??????? console.log("you are a girl"); } // 静态公共属性方法 _person.prototype = { constructor:_person, drink:'water', // 可以通过对象进行访问 不能通过类名进行访问 sayWord:function(){ // 可以通过对象进行访问 不能通过类名进行访问 console.log('you are a boy'); } } return _person;
})();
相关文章推荐
- Ajax实战总结——用原生JavaScript代码封装自己的Ajax核心对象
- javascript基于对象的弹出框封装
- Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
- Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
- 构建基于Javascript的移动web CMS——模板
- JavaScript原生对象及扩展
- 基于原生javascript的瀑布流网页布局模型
- 前端必须会的5个原生JavaScript对象方法
- 封装原生javascript连缀
- JavaScript中常见的几种创建对象的方式:基于对象扩充属性和方法、基于工厂方式创建对象、基于构造函数和基于原型
- 基于对象的JavaScript语言(短)
- 分享几个原生javascript面向对象设计小游戏
- Java中基于HttpServlet的反射机制(封装从view层页面接收到的数据于实体对象中)
- javascript面向对象包装类Class封装类库剖析
- 递归算法在javascript中使用的小技巧 (javascript的对象封装方法介绍)
- 使用javascript原生实现一个模板引擎
- 基于JavaScript的公式解释器 - 15 【单元格范围对象】
- 实现线程的封装, 2种方式(面向对象,基于对象)
- javascript面向对象中的对象创建、继承、封装等实现方式
- 四 基于对象的JavaScript语言