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 相关文章推荐
JQuery对表单元素的基本操作使用总结
Jul 18 Javascript
seajs模块之间依赖的加载以及模块的执行
Oct 21 Javascript
vue组件与复用详解
Apr 08 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
微信小程序实现卡片左右滑动效果的示例代码
May 01 Javascript
Vue实现拖放排序功能的实例代码
Jul 08 Javascript
使用Karma做vue组件单元测试的实现
Jan 16 Javascript
Vue清除定时器setInterval优化方案分享
Jul 21 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
Aug 03 Javascript
小程序点餐界面添加购物车左右摆动动画
Sep 23 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
Nov 04 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
PHP 数组入门教程小结
2009/05/20 PHP
PHP中echo和print的区别
2014/08/28 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
PHP时间处理类操作示例
2018/09/05 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
python和js交互调用的方法
2020/06/23 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
荷兰本土平价百货:HEMA
2017/10/23 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
关于VPN
2012/06/10 面试题
应届生服装设计自我评价
2013/09/20 职场文书
会计职业生涯规划书
2014/01/13 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
小学教师教学随笔
2015/08/14 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
微信小程序实现录音Record功能
2021/05/09 Javascript
总结python多进程multiprocessing的相关知识
2021/06/29 Python
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技