JavaScript对象封装的简单实现方法(3种方法)


Posted in Javascript onJanuary 03, 2017

本文实例讲述了JavaScript对象封装的简单实现方法。分享给大家供大家参考,具体如下:

Javascript在HTML中变得越来越强大,富客户端,HTML5中的WebGL等。但是我们书写Javascript的时候往往很随意,使用对象的封装是极好的。这里介绍Javascipt三种创建对象的方法。

1. 使用关键字new创建对象

function Person(name, age) {
 this.name = name;
 this.age = age;
}
var p = new Person();  // 也可填充初始化属性,如new Person("lingceng", 22)

2. 使用Object直接创建对象

可以看出,这种方法扩展很方便。

var obj = new Object(); // 这里也可写成 var = {};
obj.name = "lingceng";
obj.age = 22;

3. 使用JSON创建(对象字面量的说法更准确,但JSON更好理解)

从Javascript1.2开始,创建对象有了更快捷的方式。

var p = {
 name: "lingceng", // "name":"lingceng这样加引号解析方式相同
 gender: "male"
};

实践方式

结合构造函数和原型模式创建对象的方式很适合实践。

function Person(name,age)
{
  // 实例属性
  // 实例时多份拷贝
  this.name=name;
  this.age=age;
}
Person.prototype={
  // 因为原型被替换,所以需要恢复construtor的默认指向
  constructor: Person,
  showName:function(){
    alert("ShowName in prototype:"+this.name);
  },
  showAge:function(){
    alert(this.age);
  }
}
var p = new Person("lingceng", 22);
p.showAge(); // 22

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
关于javascript DOM事件模型的两件事
Jul 22 Javascript
为jquery的ajaxfileupload增加附加参数的方法
Mar 04 Javascript
浅谈Jquery为元素绑定事件
Apr 27 Javascript
jQuery焦点图轮播特效代码分享(3款)
Sep 05 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
Aug 06 Javascript
jQuery EasyUI 获取tabs的实例解析
Dec 06 Javascript
10个在JavaScript开发中常遇到的BUG
Dec 18 Javascript
react中实现搜索结果中关键词高亮显示
Jul 31 Javascript
150行代码带你实现微信小程序中的数据侦听
May 17 Javascript
js实现九宫格抽奖
Mar 19 Javascript
解决vue项目获取dom元素宽高总是不准确问题
Jul 29 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
Jan 03 #Javascript
vue.js将unix时间戳转换为自定义时间格式
Jan 03 #Javascript
使用Angular缓存父页面数据的方法
Jan 03 #Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 #Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 #Javascript
javascript使用递归算法求两个数字组合功能示例
Jan 03 #Javascript
jQuery仿写百度百科的目录树
Jan 03 #Javascript
You might like
ThinkPHP之N方法实例详解
2014/06/20 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
js星星评分效果
2014/07/24 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
python中__slots__用法实例
2015/06/04 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
python保存网页图片到本地的方法
2018/07/24 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
高分子材料与工程专业个人求职信
2013/12/15 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
运动会主持人开幕词
2016/03/04 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers